【发布时间】:2016-09-18 08:27:42
【问题描述】:
我在 /home/ubuntu/test 目录中创建了一个名为“yo”的 django 项目。
这些是我的 nginx 文件:
nginx/sites-available/哟
server {
listen 80;
server_name 52.89.220.11;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ubuntu/test/yo/static;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/home/ubuntu/test/yo/yo.sock;
}
}
nginx/sites-enabled/yo_nginx.conf:
# mysite_nginx.conf
# the upstream component nginx needs to connect to
upstream django {
# server unix:///home/Ubuntu/test/yo/yo.sock; # for a file socket
server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}
# configuration of the server
server {
# the port your site will be served on
listen 80;
# the domain name it will serve for
server_name 52.89.220.11; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
# location /media {
# alias /path/to/your/mysite/media; # your Django project's media files - amend as required
# }
#location /static {
# alias /path/to/your/mysite/static; # your Django project's static files - amend as required
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /home/ubuntu/test/yo/uwsgi_params; # the uwsgi_params file you installed
}
}
/home/ubuntu/test/yo/uwsgi_params:
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
有我的文件及其网址。当我转到端口 80 上的 domain_name 时,我得到 502 bad gateway 而不是 django 成功页面。请帮忙。
【问题讨论】:
-
为什么你有 2 个不同的 nginx 配置文件?为什么你有一个不在服务器块中的位置块?
-
我按照他们所说的做了一些链接。也许你可以帮忙。
-
你应该使用更好的链接,sites_enabled 中的文件应该与sites_available 中的文件相同,并且位置块属于服务器块。已经修复了,如果总是有问题发布 nginx 和 uwsgi 的错误消息。
-
sites-enabled 和 sites-available 完全相同,并且 location 块仅在 server 块内。可能是发在这里的时候搞砸了。顺便说一句,我关注了这个链接uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html
-
@polku 我的配置文件正确吗?