Gunicorn: ERROR (no such file) nginx + gunicorn + supervisor

I am deploying a django project using gunicorn, nginx, supervisord. I installed gunicorn in virtualenv added to INSTALL_APPS. The ./manage.py run_gunicorn -b 127.0.0.1:8999 command works:

 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 

For nginx, I edited 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; } } 

After that I restarted 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 

I ran bin/supervisorctl start all . But I got:

 gunicorn: ERROR (no such file) 

Which file is missing? How can I deploy my project?

+7
source share
3 answers

For future search engines, I had this problem, and the problem was that I needed to provide the full path to the Gunicorn binary. For whatever reason, even with the PATH = environment variable specified, the supervisor could not find the binary. Once I / full_path / gunicorn it worked. (There may be a way to do this correctly with environment variables)

+13
source

Since you are using virtualenv, you must install the environment in the PATH used by it in the supervisord.conf file.

Try the following:

 [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/" ... 

It is assumed that /home/user/bin/ is the path to your virtual file.

+1
source

I had the same problem, in fact I found that there is no gun in my virtual environment.

Do

 pip install gunicorn==<version_number> 
+1
source

All Articles