错误:IP 地址不起作用 在提供给 nginx 后

错误:IP 地址不起作用 在提供给 nginx 后

我正在将 django 应用程序部署到 digitalocean,但在 nginx 中我的 ip 地址不起作用sudo vim /etc/nginx/sites-available/lok 。我将其添加到我的 nginx 中,如下所示

upstream app_server {
    server unix:/home/urban/urban.new/run/gunicorn.sock 
fail_timeout=0;
}

server {
   listen 80;

# add here the ip address of your server
# or a domain pointing to that ip (like example.com or www.example.com)
   server_name 139.59.36.32;

   keepalive_timeout 5;
   client_max_body_size 4G;

   access_log /home/urban/urban.new/logs/nginx-access.log;
   error_log /home/urban/urban.new/logs/nginx-error.log;

   location /static/ {
       alias /home/urban/lok/templates/style/static/;
   }

# checks for static file, if not found proxy to app
   location / {
      try_files $uri @proxy_to_app;
  }

  location @proxy_to_app {
     proxy_set_header X-Forwarded-For . $proxy_add_x_forwarded_for;
     proxy_set_header Host $http_host;
     proxy_redirect off;
      proxy_pass http://app_server;
  }
}

但是我的 IP 地址不起作用。请帮我找出问题所在。

答案1

您的 NGINX vhost 配置似乎没问题,但您必须更改一些参数配置:

另外,您还必须在 Vhost 中更正以下行:

server_name  YOURDOMAIN

如果你有域名,则将其作为占位符 localhost

使用 nginx 监听特定 IP:

listen 139.59.36.32:80 default_server;

有关更多详细信息,请参阅 nginx 文档:

下一个更正就是您必须复制/etc/nginx/sites-available/lok/etc/nginx/sites-enabled/或创建一个符号链接然后重新加载 nginx:

# ln -s /etc/nginx/sites-available/lok /etc/nginx/sites-enabled
# service nginx reload

背景:默认情况下,nginx 会加载存储在 sites-enabled/* 下的 conf 文件(如果您不更改 nginx.conf)

另外,您必须查看默认配置是否存在(默认安装时) ls /etc/nginx/conf.d/default

如果默认配置存在,请将其移动到另一个位置,以便您的 vhost 配置可以控制 IP 上的每个请求。

相关内容