应用场景
假设我现在有两个域名,一个用于跳转到自己的博客,另一个跳转到宝塔面板,基于这个需求我需要增加两个基于域名的虚拟主机配置;如果所有配置都写在 nginx.conf 主配置文件中,难免会显得杂乱与臃肿,为了方便维护,一般需要按照一定规则对配置文件先进行拆分最后再整合。这就离不开include指令
没有多个域名怎么测试
- 配置发起请求端主机的host
# 编辑host文件 C:\Windows\system32\drivers\etc\hosts 124.71.144.139 jabberblog.cn 124.71.144.139 jabberbt.cn
- 推荐一个方便管理本机host的工具
https://github.com/oldj/SwitchHosts/releases
switchHosts
这样 jabberblog.cn jabberbt.cn 都指向了我服务器(124.71.144.139)的80端口
分别编辑两个域名对应的配置
vhost
- 博客
path: /www/server/nginx/conf/vhost/jabberblog.conf
server { listen 80; server_name jabberblog.cn; location / { proxy_pass http://jabberwocky.cn:8090/; } }
- 宝塔面板
path: /www/server/nginx/conf/vhost/jabberbt.conf
server { listen 80; server_name jabberbt.cn; location / { proxy_pass http://jabberwocky.cn:8888/; } }
使用 include 导入到主配置文件
- nginx.conf
include /www/server/nginx/conf/vhost/*.conf;
可导入多个配置
重启后我们再测试
分别访问 则会跳转到对应的主页 http://jabberblog.cn/ http://jabberbt.cn/
PS
在最后测试翻车了,第一次访问这两个网站是成功的,后来被云服务商发现这是我自己配置的域名,就不让访问了,但是整个代理过程是正确的;
F word