问题描述
我想将Apache和nginx都配置为在Ubuntu上一起运行,因为我想同时在nginx和Apache上进行开发。我读到我必须在Apache或nginx上编辑配置,以使其中一个在另一个端口而不是80上运行。
我应该在Nginx中编辑哪些文件以使其通过另一个端口运行?
最佳答案
转到/etc/nginx/sites-available
,然后修改应侦听其他端口的主机文件(如果您在此处未进行任何更改,则会找到default
文件,请输入以进行更改)
在文件中,将listen: 80
更改为您要收听的端口
别忘了重新加载服务:service nginx reload
次佳答案
最好移动apache在不同的端口上侦听,并在nginx服务/static /时指示nginx将reverse-proxy动态流量发送到您的apache。
对于/etc/apache2/ports.conf中的apache,包括:
Listen 8080
第三种答案
所以我遇到了类似的问题,我在Ubuntu 14.04上运行了Apache,并且必须与Apache一起安装nginx,因此在安装nginx之后,我将ngnix服务器的侦听端口从默认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;
保存并退出nano,然后重新启动ngnix
sudo service nginx restart
在浏览器http://localhost:81
中,您的服务器已启动
`
第四种答案
这是如何将Apache和NGINX都安装在同一80端口(在本地主机上)的答案。
假设您同时安装了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端口进行相同的设置。
IMPORTANT!
Make sure all enabled NGINX websites listen on 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
做完了!现在您可以通过URL 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端口进行相同的设置。
IMPORTANT!
Make sure all enabled Apache websites listen on 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主机