为请求选择了错误的nGinx虚拟服务器


0

我正在尝试让nGinx将请求代理到独立的MoinMoin(Python Wiki)Web服务器。

到目前为止,我使用了两个虚拟服务器:

server {
  listen 80;
  server_name my-domain.com www.my-domain.com;

  location / {
    root /path-to-dir;
    index index.html;
  }
}

server {
  listen 80;
  server_name subdomain-1.my-domain.com;

  location / {
    root /path-to-dir;
    index index.html;
  }  
}

一个用于my-domain.com,第二个用于subdomain-1.my-domain.com。他们俩都在提供静态内容。它们都运行没有任何问题。

现在,我需要运行一个Web应用程序服务器,我想从subdomain-2.my-domain.com访问它。到目前为止,我添加了这个:

server {
  listen 80;
  server_name subdomain-2.my-domain.com;

  location / {
    proxy_pass http://127.0.0.1:8000;
    include /etc/nginx/proxy_params;
  }  
}

Web应用程序服务器已启动并正在运行 - 我可以从主机访问它。

但是当我尝试使用URL subdomain-2.my-domain.com访问它时,我得到的只是subdomain-1.my-domain.com的根。

为什么会这样?

我应该如何配置nGinx以使我的Web应用程序服务器可访问?


好的,在Alexey的评论之后我找到了解决方案。

问题是我使用了错误的命令来停止nGinx服务器。命令没有完成它的工作。因此,实际上,服务器根本没有重新启动,并且使用了旧配置。

现在,当我重新启动服务器(使用不同的命令)时,一切正常。

吸取的教训是:当您停止服务器时,请确保它已经停止。尝试访问您的网页 - 它应该关闭。那是我错过的一步。


你重装/重启nginx了吗?
阿列克谢2015年

这就是重点!当然,我每次尝试新配置时都会重新启动nGinx,但是......不知怎的,我正在使用的命令没有完成任务。现在,我试图阻止它,然后尝试访问我的网页。它仍然可以访问,虽然服务器应该已经关闭!所以,我以另一种方式停止了nGinx,重新启动后,一切正常。
TPJ 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.