php - apache与nginx共存,怎么让域名去找对应的服务器?
天蓬老师
天蓬老师 2017-04-11 10:25:45
[PHP讨论组]

一台centos服务器部署了apache和nginx,因为有不同的需求需要部署如下环境:
a.com->apache(80)->php5.3(9000)->web path1;
b.com->nginx(1980)->php5.6(9001)->web path2;
现在已经装好了对应的环境,但是到了域名访问的时候出现一个问题:
a.com正常访问,b.com访问的时候去了a.com,在apache/nginx均做了虚拟机配置
只能以b.com:1980或者ip:1980方式才能去访问,请问还有没有得救?具体怎么做?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
高洛峰

非80端口是无法直接访问域名的。。。你可以做个转发,你先apache是80端口,在apache上做一个代理,把b.com的请求转发给nginx。。这样就ok了

黄舟

你可以在nginx配置b.com做反向代理,指向ip:1980

阿神

建议apache监听1980
nginx监听80
在nginx 的 server a.com里面配proxy 到127.0.0.1:1980
如果配合upstream更好

nginx部分配置如下

upstream server_a {
    server 127.0.0.1:1980;
}
server
{
    listen 80;
    server_name a.com;
    location /
    {
        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_pass http://server_a;
    }
}
server
{
    listen 80;
    server_name b.com;
    ......后面就省略了
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号