单个VPS上的多个站点 – Nginxconfiguration

我正在尝试在我的VPS上托pipe4个NodeJS进程。 其中两个是必须可以通过浏览器访问的网站,可以称为a.comb.coma.com在端口3000上运行,而b.com在端口4000上运行。另一个是运行在端口7000上的网站,没有指向它的域名,所以我想用IP地址访问它VPS和端口,如0.1.2.3:7000 。 最后一个是在端口7500上运行的SocketIO进程,也应该可以通过它的地址: 0.1.2.3:7500 :7500进行访问,但是我想它的configuration应该和在7000上运行的类似,所以我们0.1.2.3:7500忘掉它。

我想我应该使用Nginx来做到这一点,但我不能configuration它的工作。 到目前为止,我已经设法使a.comb.com正常工作,但我无法访问0.1.2.3:7000 。 我到目前为止所做的是在/etc/nginx/sites-available/创builda.comb.comc (在7000端口上运行的)configuration文件,并在/etc/nginx/sites-enabled为它们创build符号链接。

a.com

 server { listen 80; server_name www.a.com a.com access_log /var/log/nginx/a.com.access.log; rewrite_log on; location / { proxy_pass http://127.0.0.1:3000; } } 

b.com

 server { listen 80; server_name www.b.com b.com; access_log /var/log/nginx/b.com.access.log; rewrite_log on; location / { proxy_pass http://127.0.0.1:4000; } } 

C

 server { listen 7000; server_name _; access_log /var/log/nginx/c.access.log; location / { proxy_pass http://127.0.0.1:7000; } } 

就像我说的,我可以通过在浏览器的地址栏中input他们的域名来访问a.comb.com 。 我如何configuration它使c通过0.1.2.3:7000访问?

您的Cconfiguration包含对7000端口的冲突绑定。 这是你不能使它工作的原因。 我想有些东西已经绑定到7000端口,因为你在那里代理请求。