Django 使用ip但不使用域名的nginx

Django 使用ip但不使用域名的nginx,django,python-3.x,nginx,gunicorn,Django,Python 3.x,Nginx,Gunicorn,我正在尝试用gunicorn和ngix建立一个django应用程序。我跟着。一切似乎都正常工作,但当我将/etc/nginx/sites available/project中的服务器名称编辑为除serevr ip地址以外的任何内容时,我得到的是默认的nginx索引页,而不是django应用程序。当这是服务器配置时: server { listen 80; server_name <myserverip>; location = /favicon.ico { access_log o

我正在尝试用gunicorn和ngix建立一个django应用程序。我跟着。一切似乎都正常工作,但当我将/etc/nginx/sites available/project中的服务器名称编辑为除serevr ip地址以外的任何内容时,我得到的是默认的nginx索引页,而不是django应用程序。当这是服务器配置时:

server {
listen 80;
server_name <myserverip>;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
    root /home/django/project;
}

location / {
    include proxy_params;
    proxy_pass http://unix:/run/gunicorn.sock;
}
服务器{
听80;
服务器名称;
location=/favicon.ico{access\u log off;log\u not\u found off;}
位置/静态/{
root/home/django/project;
}
地点/{
包括代理参数;
代理通行证http://unix:/run/gunicorn.sock;
}

一切正常(nginx为应用提供服务)当我将ip地址放入浏览器时,如果我添加了域名来替换ip,或者除了ip之外,我得到的都是位于任意位置的nginx页面。我在settings.py中允许的\u HOSTS包括服务器ip和域名。我在nginx日志中也看不到任何问题。现在不确定问题是什么。

您应该这样做能够更改服务器名称以包括您的域:

server_name <myserverip> <mydomainname>;

更新配置文件后,不要忘记重新启动nginx。

您应该能够更改服务器名称以包括您的域:

server_name <myserverip> <mydomainname>;

更新配置文件后,不要忘记重新启动nginx。

在server\u name中,您可以写入IP或URL,但同时必须在settings.py中授予它权限

[settings.py]

ALLOWED_HOSTS = ['IP', 'URL']
在这里,我上传了一些东西到我的github,可以帮助您:


在server\u name中,您可以写入IP或URL,但同时必须在settings.py中授予它权限

[settings.py]

ALLOWED_HOSTS = ['IP', 'URL']
在这里,我上传了一些东西到我的github,可以帮助您:


我解决了这个问题。nginx默认配置/etc/nginx/sites available/default正在跟踪我。我注释掉了默认配置的服务器部分,并且域按预期工作。

我解决了这个问题。nginx默认配置/etc/nginx/sites available/default正在跟踪我。我注释掉了默认配置的服务器部分和域正在按预期工作。

感谢您的回答。问题是它正在与ip一起工作,而不是与域一起工作,即使它们都在settings.py和nginx config中。在这种情况下,您可以向nginx或Gunicorn添加日志,以测试故障,并在Django中调试True。At t同时,您可以使用systemctl status Gunicorn/Nginx来查看是否一切正常。感谢您的回答。问题是它与ip一起工作,而不是域,即使它们都在settings.py和Nginx config中。在这种情况下,您可以向Nginx或Gunicorn添加日志,以测试故障,并在Django.A中调试True同时,您可以使用systemctl status Gunicorn/Nginx来查看是否一切正常。