我有一个 node.js 站点在我的 Linux 服务器的 8080 端口上运行。在同一个 sarver 上,我还有一个在 80 端口上运行的 PHP 站点(bugzilla)。所以我当前的配置是:
我希望两个站点都在端口 80 上运行,如下所示:
那可能吗?
我有一个 node.js 站点在我的 Linux 服务器的 8080 端口上运行。在同一个 sarver 上,我还有一个在 80 端口上运行的 PHP 站点(bugzilla)。所以我当前的配置是:
我希望两个站点都在端口 80 上运行,如下所示:
那可能吗?
首先,在您的机器上禁用这两项服务。然后将它们的端口更改为不寻常的东西并重新启动它们,例如:
PHP 应用程序
6821
NodeJS 应用程序
6822
请记得打开它们
127.0.0.1
!你不应该在你的网络接口上打开它们。安装
nginx
为最常用的Reverse Proxy
. 根据您的发行版,您可以使用以下命令之一安装它:对于基于 Debian 的发行版:
对于基于 Arch 的发行版:
完全取决于你的发行版,这个包可以有自己的分层文件。所以我会给你
nginx.conf
作为主配置文件。只需记住使用您喜欢的任何名称复制原始配置文件,例如nginx.conf.origin
现在,打开
/etc/nginx/nginx.conf
,删除现有配置并将这些配置复制到其中:注意:请考虑我是用心写这个配置文件的,因此当你想运行 nginx 时,你可能会遇到一个错误。如果是这样,请在这里写评论,所以我会测试它。
现在,只需重新启动您的 nginx!你会得到你想要的。
php 应用程序可以保留在未修改的位置。
使用 apache 作为网络服务器时,需要启用代理模块。以 ubuntu 为例
ProxyPass
并使用和行修改您的虚拟主机ProxyPassReverse
。重启阿帕奇
/etc/init.d/apache2 restart
。