Для моего текущего развертывания фляг мне пришлось настроить сервер uwsgi. Вот как я создал демон uwsgi:
sudo vim /etc/init/uwsgi.conf
# file: /etc/init/uwsgi.conf
description "uWSGI server"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec /myproject/myproject-env/bin/uwsgi --uid www-data --gid www-data --home /myproject/myproject-env/site/F11/Engineering/ --socket /tmp/uwsgi.sock --chmod-socket --module F11 --callable app --pythonpath /myproject/myproject-env/site/F11/Engineering/ -H /myproject/myproject-env
Однако после успешного выполнения этого действия: sudo start uwsgi
uwsgi start/running, process 1286
И попытка доступа к приложению через браузер:
Я получаю 502 Bad Gateway
и запись ошибки в nginx error.log:
2013/06/13 23:47:28 [error] 743 # 0: * 296 вверх по течению преждевременно закрыто соединение при чтении заголовка ответа вверх, клиент: xx.161.xx.228, сервер: myproject.com, запрос: "GET/show_records/2013/6 HTTP/1.1", вверх по течению: msgstr "uwsgi://unix:///tmp/uwsgi.sock:", host: "myproject.com"
Но файл sock имеет необходимое ему разрешение:
srw-rw-rw- 1 www-data www-data 0 Jun 13 23:46 /tmp/uwsgi.sock
Если я запускаю команду exec
сверху в командной строке в качестве процесса, она отлично работает. Почему демон работает неправильно?
btw Nginx работает как
vim /etc/nginx/nginx.conf
user www-data;
и vim /etc/nginx/sites-available/default
location / {
uwsgi_pass unix:///tmp/uwsgi.sock;
include uwsgi_params;
}
и он запускается как sudo service nginx start
Я запускаю это на Ubuntu 12.04 LTS
.
Надеюсь, что я предоставил все необходимые данные, надеюсь, что кто-то поможет мне в правильном направлении. Спасибо.