我在我的nginx-error.log
文件中遇到了这个错误:
2014/02/17 03:42:20 [crit] 5455#0: *1 connect() to unix:/tmp/uwsgi.sock failed (13: Permission denied) while connecting to upstream, client: xx.xx.x.xxx, server: localhost, request: "GET /users HTTP/1.1", upstream: "uwsgi://unix:/tmp/uwsgi.sock:", host: "EC2.amazonaws.com"
浏览器也显示502 Bad Gateway错误。使用curl
命令的输出结果也是一样的,都是Bad Gateway html。
我已经尝试通过将/tmp/uwsgi.sock
权限更改为777来修复它,但这没有起作用。我还将自己添加到www-data
组中(有几个类似的问题建议这样做)。但是,也不起作用。
这是我的nginx.conf
文件:
nginx.conf
worker_processes 1;
worker_rlimit_nofile 8192;
events {
worker_connections 3000;
}
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
我正在运行一个Flask应用程序,使用Nginsx和Uwsgi,这样可以更加全面地解释。如果有人有任何想法,我会非常感激。
编辑
有人要求我提供我的uwsgi配置文件。所以,我的nginx或uwsgi文件都是由指南here生成的,使用ansible-playbook设置了一切。 nginx.conf
文件是自动生成的,但在/etc/uwsgi
中除了apps-enabled
和apps-available
文件夹中的README
文件之外没有其他内容。我需要为uwsgi创建自己的配置文件吗?我认为ansible会处理所有这些事情。
我相信ansible-playbook
已经解决了我的uwsgi配置问题,因为当我运行此命令时
uwsgi -s /tmp/uwsgi.sock -w my_app:app
它启动并输出了这个:
*** Starting uWSGI 2.0.1 (64bit) on [Mon Feb 17 20:03:08 2014] ***
compiled with version: 4.7.3 on 10 February 2014 18:26:16
os: Linux-3.11.0-15-generic #25-Ubuntu SMP Thu Jan 30 17:22:01 UTC 2014
nodename: ip-10-9-xxx-xxx
machine: x86_64
clock source: unix
detected number of CPU cores: 1
current working directory: /home/username/Project
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 4548
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /tmp/uwsgi.sock fd 3
Python version: 2.7.5+ (default, Sep 19 2013, 13:52:09) [GCC 4.8.1]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x1f60260
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 72760 bytes (71 KB) for 1 cores
*** Operational MODE: single process ***
WSGI app 0 (mountpoint='') ready in 3 seconds on interpreter 0x1f60260 pid: 26790 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 26790, cores: 1)