配置 Nginx 反向代理 Apache 服务器

本篇博客系转载,有删改,原文章:前nginx后Apache+Node反向代理

场景

有三个网站:

  1. localhost:8080
  2. localhost:9000
  3. localhost:8000

使用 nginx 设置,都使用80端口,通过不同的二级域名进行访问:

  1. 当访问 xxx.domain.com 的时候代理到 localhost:8080
  2. 当访问 yyy.domain.com 的时候代理到 localhost:9000
  3. 当访问 zzz.domain.com 的时候代理到 localhost:8000

Apache 配置各站点

注:这一步,由于我真实环境中只有一个使用 Apache 作为服务器的站点,因此配置仅仅修改了 /etc/httpd/conf/httpd.conf 文件,监听 4000 端口,并修改字段了 AllowOverrideAll

修改 httpd.conf 文件

我在centos服务器上使用 yum 包管理工具安装的 Apache 配置位于

/etc/httpd/conf/httpd.conf

设置三个虚拟主机,修改配置文件,去掉加载虚拟主机配置的注释 #

Include /private/etc/apache2/extra/httpd-vhosts.conf

监听对应的端口(不要监听80了,一会儿交给nginx)

Listen 8000
Listen 8080
Listen 9000

修改httpd-vhosts.conf

虚拟主机的配置文件在

/etc/apache2/extra/httpd-vhosts.conf

添加虚拟主机节点,类似这样来三个

 <VirtualHost *:8080>
          DocumentRoot "/path"
          ServerName xxx
          <Directory "/path">
          Options Indexes FollowSymLinks
          AllowOverride All
          Order deny,allow
          Allow from all
          </Directory>
 </VirtualHost>

修改 hosts 文件

如果服务器在本地,我们还需要把域名配置到localhost,hosts的配置文件在

/etc/hosts

简单添加一下我们的三个主机

localhost xxx.domain.com yyy.domain.com zzz.domain.com

修改 nginx 配置文件

新建单独配置文件于 /etc/nginx/conf.d/new_file.conf

配置虚拟主机 × 3:

server {
        listen 80;
        listen [::]:80;
        server_name xxx.domain.com;
        location / {
            proxy_pass http://0.0.0.0:8080;
            proxy_set_header Host $host;
        }
}

proxy_set_header Host $host 可以使url始终保持配置的 xxx.domain.com 等。

最后重启 Nginx 和 Apache 即可。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值