我想使用gunicorn和nginx在远程Ubuntu VPS上运行django作为代理服务器。
该网站可与 djangos开发服务器一起使用:
python manage.py runserver 0.0.0.0:8000
该网站可与 gunicorns服务器一起使用(即使静态文件也不起作用):
gunicorn my_project.wsgi --bind 0.0.0.0:8000
但是在顶部出现 nginx 时,出现以下错误:
无法访问此站点...拒绝连接。 ERR_CONNECTION_REFUSED
nginx日志文件error.log
和access.log
均为空。
这是我配置nginx的方式:
server {
listen 80;
server_name my_ip_address;
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
}
}
在这种情况下,金枪鱼当然会以--bind 127.0.0.1:8001
运行。
状态检查(service nginx status
)返回:
● nginx.service - A high performance web server and a reverse proxy server
Active: active (running) since Fri 2019-09-20 07:41:00 UTC; 1min 19s ago
Starting A high performance web server and a reverse proxy server...
nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Started A high performance web server and a reverse proxy server.
答案 0 :(得分:1)
首先,使用var_list
检查您的配置。您发布的配置作为独立配置文件无效,但是我假设您使用的是具有主要nginx -t
和nginx.conf
和sites-available
主目录的通用nginx配置结构。
如果没有投诉,请输入错误信息,例如移除右方括号,然后重试。如果仍然没有问题,则nginx不会选择您的配置。
在这种情况下,请检查是否创建了从sites-enabled
到sites-enabled/your_config
的正确符号链接。
如果一切似乎正确:
sites-available/your_config
ps aux | grep nginx