Nginx + Apache 公用 80 端口的配置方案。
2016-01-26 10:19
302 查看
Nginx 占用 80 端口,过滤静态请求,然后动态请求即 Proxy 到 Apache 的 8080 端口。
Proxy 反向代理的好处是访问的时候,始终就是 80 端口,来访者不会觉察到有任何的区别。
但有的应用确非常“聪明”,识别到 Apache 所位于的端口是 8080 ,就会把相关的超链接都一并加上 :8080 的后续。这么就死定了,还能有正常访问麽?!
有个方法可以解决这事,就是把 apache 也运行在80端口上。
同一台服务器,有Nginx 也有 Apache,2个httpd服务,都是80,不会冲突麽?
下边就是举例方法。
Nginx.conf 的配置中
server {
listen 80;
server_name www.ABC.com;
}
修改一下。
server {
listen 192.168.3.3:80; #指定Nginx只占用某个IP的80端口。
listen 192.168.10.3:80; #如果你服务器中有多个IP,还可以指定多个。
server_name www.ABC.com;
}
如果你在Nginx有多个虚拟主机,每一个都需要这么修改。
然后轮到 apache 的 httpd.conf
把原来的
Listen 80
改为
Listen 127.0.0.1:80
跟Nginx一样,指定apache所占用的IP及端口。
保存退出,重启apache即可生效。
如果你 apache 上也有多个虚拟主机。无需好像Nginx那样逐一修改,只要都是 80 端口既可。
如:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin hello@abc.com
DocumentRoot /data/web_server/admin
ServerName www.ABC.com
</VirtualHost>
这样,Nginx 跟 Apache 就仅会占用指定IP的80端口,不会冲突。
只要调整一下 Nginx proxy 的参数。
“聪明”应用问题就能解决了。
Proxy 反向代理的好处是访问的时候,始终就是 80 端口,来访者不会觉察到有任何的区别。
但有的应用确非常“聪明”,识别到 Apache 所位于的端口是 8080 ,就会把相关的超链接都一并加上 :8080 的后续。这么就死定了,还能有正常访问麽?!
有个方法可以解决这事,就是把 apache 也运行在80端口上。
同一台服务器,有Nginx 也有 Apache,2个httpd服务,都是80,不会冲突麽?
下边就是举例方法。
Nginx.conf 的配置中
server {
listen 80;
server_name www.ABC.com;
}
修改一下。
server {
listen 192.168.3.3:80; #指定Nginx只占用某个IP的80端口。
listen 192.168.10.3:80; #如果你服务器中有多个IP,还可以指定多个。
server_name www.ABC.com;
}
如果你在Nginx有多个虚拟主机,每一个都需要这么修改。
然后轮到 apache 的 httpd.conf
把原来的
Listen 80
改为
Listen 127.0.0.1:80
跟Nginx一样,指定apache所占用的IP及端口。
保存退出,重启apache即可生效。
如果你 apache 上也有多个虚拟主机。无需好像Nginx那样逐一修改,只要都是 80 端口既可。
如:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin hello@abc.com
DocumentRoot /data/web_server/admin
ServerName www.ABC.com
</VirtualHost>
这样,Nginx 跟 Apache 就仅会占用指定IP的80端口,不会冲突。
只要调整一下 Nginx proxy 的参数。
“聪明”应用问题就能解决了。
相关文章推荐
- nginx代理指定目录
- 访问Nginx发生SSL connection error的一种情况
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- Nginx+Naxsi部署专业级Web应用防火墙
- Windows 8 官方高清壁纸欣赏与下载
- CentOS 6.2实战部署Nginx+MySQL+PHP
- Apache Isis 1.4.0 发布,领域驱动开发框架
- nginx中http核心模块的配置指令2
- nginx中http核心模块的配置指令3
- nginx中http核心模块的配置指令4
- nginx中http的fastcgi模块的配置指令1
- Linux快速构建apache web服务器
- Awstats处理多apache日志
- 安装perl模块小窍门
- Nginx 学习笔记(一)
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- 网站502与504错误分析
- Internet Explorer 8 RC1 下载地址(英文版)