Я испытываю затруднения при запуске моего приложения на новой капельке DigitalOcean. Машина выполняет CentOS 6.5
Мой /etc/nginx/nginx.conf
user nginx www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /var/run/nginx.pid;
(continues)
Мой myapp_nginx.conf
server {
server_name 104.xxx.x.xxx;
listen 8080;
charset utf-8;
client_max_body_size 30M;
location / {
index index.html index.htm;
root /home/webdev/mydevelopment/git/ers_portal;
try_files $uri @app;
}
location /static {
alias /home/webdev/mydevelopment/git/ers_portal/app/static;
}
location @app {
include uwsgi_params;
uwsgi_pass unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock;
}
}
Мой myapp_uwsgi.ini
[uwsgi]
master = true
#user info
uid = webdev
gid = www-data
#application's base folder
base = /home/webdev/mydevelopment/git/ers_portal
#chdir to this folder when starting
#chdir = /home/webdev/mydevelopment/git/ers_portal
#python module to import
app = run_web
module = %(app)
home = /home/webdev/mydevelopment/venvs/ecodev_do
pythonpath = %(base)
#socket file's location
socket = /home/webdev/mydevelopment/git/ers_portal/%n.sock
#permissions for the socket file
chmod-socket = 666
#the variable that holds a flask application inside the module imported at line #6
#uwsgi varible only, does not relate to your flask application
callable = app
#location of log files
logto = /home/webdev/mydevelopment/git/ers_portal/logs/%n.log
Сообщения об ошибках распечатаны в nginx error.log
каждый раз, когда я делаю веб-запрос к 104.xxx.x.xxx:8080
2014/11/19 23:14:47 [crit] 28090#0: *1 stat() "/home/webdev/mydevelopment/git/ers_portal/favicon.ico" failed (13: Permission denied), client: 71.211.xxx.xxx, server: 104.xxx.x.xxx, request: "GET /favicon.ico HTTP/1.1", host: "104.xxx.x.xxx:8080"
2014/11/19 23:14:47 [crit] 28090#0: *1 connect() to unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock failed (13: Permission denied) while connecting to upstream, client: 71.211.xxx.xxx, server: 104.xxx.x.xxx, request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock:", host: "104.xxx.x.xxx:8080"
папка проекта: drwxr-xr-x 6 webdev www-data 4.0K Nov 19 23:40 ers_portal
сокет в той папке: srw-rw-rw- 1 webdev www-data 0 Nov 19 23:45 ers_portal_uwsgi.sock
Если у Вас есть какая-либо дополнительная информация, Вы должны просто сообщить мне.Спасибо!!
Править
Я изменил полномочия, как предложено @Eugene. Теперь в моем /var/log/nginx/access.log
Ясно
[20/Nov/2014:01:37:58 -0500] "GET / HTTP/1.1" 502 574 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36" "-"
В /var/log/nginx/error.log
Ясно
2014/11/20 01:38:27 [crit] 28639#0: *1 connect() to unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock failed (2: No such file or directory) while connecting to upstream, client: 71.21.my.local.ip, server: , request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock:", host: "104.ser.ver.ip"
favicon.ico отклонение (ниже) этого было в var/log/nginx/access.log
не обнаруживается больше
"GET /favicon.ico HTTP/1.1" 502 574 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36" "-"
Решено
Я обнаружил свою опечатку после многих часов поиска. В /path/to/my/webapp/my_app_nginx.conf
строка, которая читает
location @app {
include uwsgi_params;
uwsgi_pass unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock;
}
, должна читать
location @app {
include uwsgi_params;
uwsgi_pass unix:/home/webdev/mydevelopment/git/ers_portal/ers_portal_uwsgi.sock;
}
Также в /etc/nginx/nginx.conf
измените пользователь nginx www-data;
назад к пользователь nginx;
Также убедитесь, что в «верхнем уровне» /etc/nginx/nginx.conf нет блока сервера по умолчанию
, который конфликтует с конфигурацией вашего приложения (в моем случае /path/to/my/webapp/my_app_nginx.conf
, который символически связан с /etc/nginx/conf.d/
папка).
Извлеченные уроки ...
ABABA
- это рабочая конфигурация, а --- B-
- это изменение, которое вы искали, но забыли изменить - B -
назад на - A -
, вы будете повторять, повторять и повторять себя. См. №1 Похоже, у вас нет необходимых разрешений где-то на пути к / home / webdev / mydevelopment / git / ers_portal
- хотя ers_portal
кажется чтобы иметь правильный 755, в некоторых каталогах его нет. Убедитесь, что во всех каталогах, начиная с /
до ers_portal
, есть не менее 5 каталогов для пользователя www-data, его группы или для всех.
Я думаю, проблема в строке
try_files $uri @app;
. Просто прокомментируйте ее и перезапустите сервер nginx. Это должно решить проблему.