9

django プロジェクトを gunicorn、nginx、supervisord でデプロイします。INSTALL_APPSに追加されたvirtualenvにgunicornをインストールしました。コマンド./manage.py run_gunicorn -b 127.0.0.1:8999は機能します:

2012-12-04 12:27:33 [21917] [INFO] Starting gunicorn 0.16.1
2012-12-04 12:27:33 [21917] [INFO] Listening at: http://127.0.0.1:8999 (21917)
2012-12-04 12:27:33 [21917] [INFO] Using worker: sync
2012-12-04 12:27:33 [22208] [INFO] Booting worker with pid: 22208

nginx の場合、nginx.conf を編集しました。

server {
    listen 111111111:80;
    server_name my_site.pro; 

    access_log /home/user/logs/nginx_access.log;
    error_log /home/user/logs/nginx-error.log;

    location /static/ {
        alias /home/user/my_project/static/;
    }
    location /media/ {
        alias /home/user/my_project/media/;
    }
    location / {
        proxy_pass http://127.0.0.1:8999;
        include /etc/nginx/proxy.conf;
    }
}

その後、nginxを再起動しました。

Supervisord.conf:

[unix_http_server]
file=/tmp/supervisor-my_project.sock  
chmod=0700                
chown=user:user

[supervisord]
logfile=/home/user/logs/supervisord.log
logfile_maxbytes=50MB        
logfile_backups=10           
loglevel=info                
pidfile=/tmp/supervisord-my_project.pid
nodaemon=false              
minfds=1024                  
minprocs=200 

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///tmp/supervisor-my_project.sock 

[program:gunicorn]
command=/home/user/bin/manage run_gunicorn -w 4 -b 127.0.0.1:8999 -t 300 --max-   requests=1000
startsecs=10
stopwaitsecs=60
redirect_stderr=true
stdout_logfile=/home/user/gunicorn.log

私は走っbin/supervisorctl start allた。しかし、私は得ました:

gunicorn: ERROR (no such file)

不足しているファイルは何ですか? プロジェクトをデプロイするにはどうすればよいですか?

4

4 に答える 4

1

virtualenvを使用しているため、supervisord.confで使用されるPATHに環境を設定する必要があります。

これを試して:

[program:gunicorn]
command=/home/user/bin/manage run_gunicorn -w 4 -b 127.0.0.1:8999 -t 300 --max-requests=1000
environment=PATH="/home/user/bin/"
...

これは/home/user/bin/、がvirtualenvへのパスであると想定しています。

于 2012-12-04T21:28:12.470 に答える
1

私は同じ問題を抱えていました。実際、仮想環境にガンコーンがインストールされていないことがわかりました。

行う

pip install gunicorn==<version_number>
于 2015-11-02T06:01:00.460 に答える
0

apt を使用してスーパーバイザーをインストールすることから、pip を使用するように切り替えました。これにより、スーパーバイザーと pidproxy のパスが /usr/bin から /usr/local/bin/ に変更されました。スーパーバイザーの gunicorn.conf で pidproxy を使用しています。

そのため、スーパーバイザーのインストール方法を切り替えるだけで、「pidproxy」が見つからず、「gunicorn: ERROR (no such file)」というメッセージが生成されました。

不適切なエラー メッセージは、gunicorn 以外のものを参照している可能性があります。

command=/usr/local/bin/pidproxy /var/run/gunicorn.pid /gunicorn.sh

于 2020-10-13T13:27:45.917 に答える