nginx server_name 在设置 Django 项目时

nginx server_name while setting up Django project

server {
    listen 80;
    server_name server_domain_or_IP;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/sammy/myprojectdir;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

我已经在 server_name 中输入了我的 IP 地址,它运行良好。我将我的域转发到受尊重的 IP 地址,但是当我打开我的域地址时,它显示 'Welcome to Nginx',而不是我的 Web 应用程序。

我是否必须在可用的 nginx 站点中提供域?

默认情况下安装 nginx 时它将使用端口 80,如果您在路径 /etc/nginx/sites-available/default 中看到默认配置文件,你可以看到默认端口会监听80,要么你把默认的80端口改成别的端口,要么把你当前项目的端口改成别的端口,最后重启nginx就可以看到变化了。希望这对您有所帮助!

无需编辑 Nginx 站点可用,它适用于我在 settings.py 和 Nginx 站点可用中将带有和不带 "www." 的域名添加到 ALLOWED_HOST我只是用 "www." 和 "www." 替换了我的域名我的 IP 就是这样,现在只需重新启动 gunicorn 和 Nginx。