我的Linux服务器的端口8080上运行着一个node.js站点。在同一服务器上,我还具有在端口80上运行的PHP站点(bugzilla)。因此,我当前的配置是:
我希望两个站点都在端口80上运行,如下所示:
那可能吗?
首先,禁用计算机上的这两种服务。然后将其端口更改为异常端口并重新启动它们,例如:
PHP应用程序 6821
NodeJS应用程序在 6822
请记住打开它们127.0.0.1
!您不应该在网络界面上打开它们。
安装nginx
为最常用的Reverse Proxy
。根据您的发行版,可以使用以下命令之一安装它:
对于基于Debian的发行版:
$ sudo apt install nginx
对于基于Arch的发行版:
$ sudo pacman -S nginx
再次完全取决于您的发行版,此程序包可以具有自己的文件分层结构。所以我会给你nginx.conf
作为主要的配置文件。只需记住使用您喜欢的任何名称复制原始配置文件,例如 nginx.conf.origin
$ sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.origin
现在,打开/etc/nginx/nginx.conf
,删除现有配置并在其中复制以下配置:
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
keepalive_timeout 15;
server {
listen 80 default_server;
server_name example.com;
location /mynodejs {
proxy_pass http://127.0.0.1:6822;
}
location /bugzilla {
proxy_pass http://127.0.0.1:6821;
}
}
}
注意:请考虑我是用头脑写的这个配置文件,因此,当您要运行nginx时,您可能会遇到错误。如果是这样,请在此处写评论,以便我对其进行测试。
现在,只需重新启动您的nginx!您将得到想要的东西。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句