配置nginx非80端口转发怎么修改nginx.conf配置文件

原来服务器上是php项目,使用了默认80端口,后来需要增加一个,因为全部是静态页面,
所以我想直接使用ngnix访问,然后将php项目的apache2端口修改为8088,nginx监听了80端口,

    upstream a_pool{
    server 127.0.0.1:8088;
}
upstream b_pool{
    server 127.0.0.1:80;
}
server {
    listen       80;
    server_name  a.com;
    access_log logs/a.log;
    error_log logs/a.error;
    #将所有请求转发给demo_pool池的应用处理
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://a_pool;
    }
}
server {
    listen       80;
    server_name  b.com;
    access_log logs/b.log;
    error_log logs/b.error;
    
    #将所有请求转发给demo_pool池的应用处理
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://b_pool;
    }
}

这样配置导致两个域名都指向了a.com
我是想让当域名为a.com是使用8088端口指向php项目,
80端口时不进行转发,指向nginx/html/...

阅读 4k
1 个回答

可以这样写 a.com 的请求全部抛给8080端口, b.com的请求只做静态处理

server {
    listen  80;
    server_name  a.com;
    access_log logs/a.log;
    error_log logs/a.error;
    index  index.php index.html;
    # PHP代码位置
    root   /home/www/html/a.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        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;
    }
}

server {
    listen       80;
    server_name  b.com;
    access_log logs/b.log;
    error_log logs/b.error;

    # 这里配置静态页面的地址
    root   /home/www/html/;
    index  index.html;

    location / {
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题