要在Nginx上更改端口以使其运行,应该编辑哪些文件?
进入/etc/nginx/sites-available
目录,然后修改主机文件以便监听不同的端口(如果您这里没有更改,则会找到一个名为default
的文件,请进入进行更改)
在文件中将listen: 80
更改为您想要监听的端口
别忘了重新加载服务:service nginx reload
最好让apache
监听不同的端口,并指示nginx
通过反向代理动态流量到您的apache
,同时由nginx
提供静态文件
。
对于位于/etc/apache2/ports.conf
中的apache,请包含:
Listen 8080
nginx
从底层开始构建,作为反向代理和静态页面 Web 服务器,似乎在处理静态页面时表现最佳(具有最佳并发管理,而且如果不需要加载解释器,则没有负荷),而 apache
在处理动态页面时表现更佳(内置解释器)。我相信 apache
也可以做反向代理,但比使用 nginx
更加棘手,并且似乎这样做会失去一些有趣的 apache
特性。 - cedbeunginx
,以及更多的过程细节... - cedbeu/etc/.../conf
文件中的一行即可完成,这是一个合适的解释。我认为@cedbeu的理由更加明智和合适的证明。 - MestreLion假设你已经安装了NGINX和Apache...
1. 为每个服务选择不同的IP地址。
让我们设置hosts
文件以便快速访问起始页。
sudo nano /etc/hosts
追加行(使用任何您喜欢的本地IP)
127.0.0.1 nginx
127.0.0.2 apache
2. 设置NGINX监听的IP地址和端口
NGINX必须只监听一个IP地址。
sudo nano /etc/nginx/sites-enabled/default
替换这些行
---(删除行) +++(添加行)
--- listen 80 default_server;
--- listen [::]:80 default_server;
+++ listen nginx:80;
如果您想使用SSL,请对443端口进行相同的操作。
重要提示!
确保所有启用的NGINX网站都监听nginx:80端口
重新启动NGINX
sudo service nginx restart
使用命令 sudo netstat -tulpn | grep :80
进行检查。
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 26540/nginx: master
完成!现在您可以通过网址http://nginx访问默认的NGINX主机。
3. 为Apache设置监听IP和端口
Apache必须只监听一个IP地址。
端口:
sudo nano /etc/apache2/ports.conf
替换这些行
---(删除的行) +++(新增的行)
--- Listen 80
--- Listen 443
+++ Listen apache:80
+++ Listen apache:443
默认虚拟主机:
sudo nano /etc/apache/sites-enabled/000-default
并替换这些行
---(删除行) +++(添加行)
--- <VirtualHost *:80>
+++ <VirtualHost apache:80>
如果您想使用SSL,请对443端口做相同的设置。
重要提示!
确保所有启用的Apache网站都监听apache:80端口
重新启动Apache
sudo service apache2 restart
使用命令 sudo netstat -tulpn | grep :80
进行检查。
tcp 0 0 127.0.0.2:80 0.0.0.0:* LISTEN 26829/apache2
完成!现在您可以通过URL http://apache 访问默认的Apache主机。
/etc/hosts
的第一部分即可。 - MestreLion我曾经遇到类似的问题,我在Ubuntu 14.04上运行了Apache,并需要安装nginx。在安装nginx后,我将它的监听端口从默认的80端口改为81端口,这样就成功解决了问题。按照以下指示来实现:
cd /etc/nginx/sites-available
sudo cp default default.bak
sudo nano default
在这里更改端口。
server {
listen 81 default_server;
listen [::]:81 default_server ipv6only=on;
sudo service nginx restart
http://localhost:81
,如果显示“your server is up”,则表示您的服务器正常运行。 listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
为了
listen 8000 default_server;
listen [::]:8000 default_server ipv6only=on;
端口8000
未绑定到任何其他服务,则可以通过service nginx reload
重新加载nginx。我通过修改Apache ports.conf文件中的端口解决了这个问题。
您可以通过以下方式编辑它:
sudo nano /etc/apache2/ports.conf
如果你想改变Nginx端口,只需要在site-available文件中修改即可。
/var/www/index.html
文件。因此,一旦第二个服务器正常运行起来,它将默认显示另一个服务器的首页。 - Alexis Wilkedpkg
对于两个“共享”/覆盖同一文件的软件包有何看法...哦,apt upgrade
上的冲突可能会很棘手... - MestreLion