Nginx配置多域名代理

来源:互联网 发布:mac怎么玩魔兽 编辑:程序博客网 时间:2024/05/20 09:46

目的

当我们有多个站点需要对外网开放,每个站点的域名都不一样,然而我们只有一个外网ip。这种情况下,我们就可以使用一个nginx来配置多域名代理。这种代理方式可以解决,在同一个端口上针对不同域名代理不同的站点。这样对外看起来就像是有多台机器同时对外开发一样。

操作步骤

  1. 进入nginx安装目录下的sites-enabled目录
  2. 一般刚安装好的的nginx可以在该目录下看到default配置文件,该文件可以用作配置文件模板,同时该文件做了最基本的监听80端口
  3. 拷贝一份文件用于监听新的域名,如监听:tech.abc.com。命令为:
root@test:/etc/nginx/sites-enabled# cp default tech
  1. 修改该配置的监听域名:
root@test:/etc/nginx/sites-enabled# vi tech## 进入编辑页面## 将server_name的属性改为: tech.abc.comserver_name tech.abc.com## 退出 ESC :wq
  1. 重载配置
root@test:/etc/nginx/sites-enabled# nginx -s reload
  1. 如果需要再配置一个test.abc.com或者其他域名, 只需要再拷贝一个配置文件,修改server_name,然后重载配置文件即可

注意

阿里云等云服务器提供商对nginx代理做了限制,如果所代理的站点未备案,则不允许进行代理。解决这个问题的方案,可以使用国外的服务器来做nginx代理服务器,不过这个方案的速度相对较慢。