Nginx和Apache共用80端口的配置方案
来源:互联网 发布:淘宝全民疯抢设置入口 编辑:程序博客网 时间:2024/06/05 22:38
更多猛戳:http://www.webyang.net/Html/web/article_189.html
一个典型的 Nginx + Apache 应用方案可以是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.webyang.net;
- }
如果你在Nginx有多个虚拟主机,每一个都需要这么修改。
- server {
- listen 192.168.3.3:80; #指定Nginx只占用某个IP的80端口。
- listen 192.168.10.3:80; #如果你服务器中有多个IP,还可以指定多个。
- server_name www.webyang.net;
- }
然后轮到 apache 的 httpd.conf
把原来的
Listen 80
改为
Listen 127.0.0.1:80
跟Nginx一样,指定apache所占用的IP及端口。
保存退出,重启apache即可生效。
如果你 apache 上也有多个虚拟主机。无需好像Nginx那样逐一修改,只要都是 80 端口既可。
如:
此处参考:http://blog.csdn.net/zajin/article/details/8724113
- NameVirtualHost *:80
- <VirtualHost *:80>
- ServerAdmin hello@abc.com
- DocumentRoot /data/web_server/admin
- ServerName www.webyang.net
- </VirtualHost>
这样你是不是以为,就已经万事大吉了?非也。
这样的apache只能通过http://127.0.0.1:80才能访问,那么他还占用80端口就没有意义了。还不如apache用8080,nginx用80算了。
所以此时如果你的服务器有多ip,除了把apache绑定在 127.0.0.1 还能绑定另外一张网卡的IP,那么问题就解决。
可是一般人都是只有一个独立ip的,所以这种方法对很多人来讲就是海市蜃楼。
修改一种思路,apache还是8080端口,修改其中的一个nginx的域名的conf文件
此时,该域名全部动作都走Apache了,包括静态文件。
- location / {
- try_files $uri @apache;
- }
- location @apache {
- internal;
- proxy_pass http://127.0.0.1:8080;
- }
- location ~ .*.(php|php5)?$ {
- proxy_pass http://127.0.0.1:8080;
- }
也有很多人下面这种写法:
大体类似。
- upstream zend {
- server 127.0.0.1:8080;
- }
- location / {
- proxy_pass http://zend;
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Scheme $scheme;
- }
- location ~ .*.(php|php5)?$ {
- proxy_pass http://zend;
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Scheme $scheme;
- }
之所以最近文章写得很勤,因为最近在家待业,土豪求打赏啊!!!挥泪~
0 0
- Nginx和Apache共用80端口的配置方案
- 详解Nginx与Apache共用80端口的配置方法
- 分享一个 Nginx + Apache 公用 80 端口的配置方案
- CentOS 7 下安装 Nginx 并配置nginx代理apache+php和tomcat,实现共用80端口
- 使用apache和IIS,共用80端口的一个解决方案
- IIS和APACHE共用80端口的方法
- IIS和APACHE共用80端口的方法
- IIS和APACHE共用80端口的方法
- apache 反向代理:apache和iis共用80端口
- nginx 配置多个tomcat共用80端口
- nginx 配置多个tomcat共用80端口
- nginx配置多个站点共用80端口
- apache 配置多个tomcat共用 80 端口
- Jsp和PHP共用80端口,整合Apache和Tomcat
- 通过Apache转发和Tomcat共用80端口
- Ubuntu下、Apache 和Tomcat 共用80端口
- 通过Apache转发和Tomcat共用80端口
- 通过Apache转发和Tomcat共用80端口
- [BZOJ1593] [Usaco2008 Feb]Hotel 旅馆
- 多媒体封装格式学习:H264封装成FLV(一)
- Android Theme and Menu 主题菜单相关
- InnoDB深入理解
- ZOJ 3706 Break Standard Weight
- Nginx和Apache共用80端口的配置方案
- MAC下Basictex如何安装宏包
- 如何在多线程操作数据库--多线程串行
- [Android开发]SQLiteDatabase是否需要调用close()方法探究
- Android&java优化---(1)---jvm架构
- 用SQL将多行字符串数据转换成一行数据(实例)
- JavaScript闭包
- eclipse配置多个git账号
- 实现九九乘法表