0

我已经在 Amazon lightail 上安装了 django,我可以通过静态服务器 IP 地址访问我的网站。我的域名托管在 Godaddy 上。我更改了 GoDaddy 中的名称服务器。但是当我尝试通过域名访问我的网站时,它仍然显示了 Nignx 欢迎页面。

欢迎使用 nginx!如果您看到此页面,则 nginx Web 服务器已成功安装并正在运行。需要进一步配置。有关在线文档和支持,请参阅 nginx.org。nginx.com 上提供商业支持。感谢您使用 nginx。

在我的 django settings.py 中,我只给出了 IP 地址

ALLOWED_HOSTS = ['YOUR_AMAZON_LIGHTSAIL_IP']

在 Nginx 文件中,我也只添加了 IP 地址。

server {
    listen 80;
    server_name YOUR_AMAZON_LIGHTSAIL_IP;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ubuntu/django_project;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/ubuntu/django_project/django_project.sock;
    }
}

我在我的托管服务器上使用 Gunicorn 和 Nginx。

4

2 回答 2

0

您必须像这样将域名添加到允许的主机中

ALLOWED_HOSTS = ['mydomain.name']

有了这个,用户只能通过您的域地址访问该站点。如果您还希望他们能够通过您喜欢的 IP 访问

ALLOWED_HOSTS = ['mydomain.name','ip.ip.ip.ip']
于 2017-10-24T06:55:44.853 回答
0

我做了以下更改以允许域工作,

  1. 首先在AWS lightsai上创建一个静态IP地址

  2. 为您的 VPS 分配静态 IP 地址

  3. 创建一个 DNS 区域,将 NameServer 添加到您的域提供商。就我而言,它是Godaddy。

  4. 在 django settings.py 中在允许的主机设置中添加域名,

    ALLOWED_HOSTS = ['example.com', '0.0.0.0']

  5. 在 Nginx 文件中添加域名

    服务器{听80;server_name example.com 0.0.0.0;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ubuntu/django_project;
    }
    
    location / {
        include proxy_params;
        proxy_pass http://unix:/home/ubuntu/django_project/django_project.sock;
    }
    

    }

  6. 重启 Nginx

    sudo 服务 nginx 重启

  7. 重启服务器

    须藤重启

于 2017-10-24T07:41:58.040 回答