我正在尝试让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年