应用场景

假设我现在有两个域名,一个用于跳转到自己的博客,另一个跳转到宝塔面板,基于这个需求我需要增加两个基于域名的虚拟主机配置;如果所有配置都写在 nginx.conf 主配置文件中,难免会显得杂乱与臃肿,为了方便维护,一般需要按照一定规则对配置文件先进行拆分最后再整合。这就离不开include指令

没有多个域名怎么测试

# 编辑host文件 C:\Windows\system32\drivers\etc\hosts
124.71.144.139 jabberblog.cn
124.71.144.139 jabberbt.cn
https://github.com/oldj/SwitchHosts/releases

include用法及搭配( include 指令的使用)(1)

switchHosts

这样 jabberblog.cn jabberbt.cn 都指向了我服务器(124.71.144.139)的80端口

分别编辑两个域名对应的配置

include用法及搭配( include 指令的使用)(2)

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 导入到主配置文件

include /www/server/nginx/conf/vhost/*.conf;

include用法及搭配( include 指令的使用)(3)

可导入多个配置

重启后我们再测试

分别访问 则会跳转到对应的主页
http://jabberblog.cn/ 
http://jabberbt.cn/

PS

在最后测试翻车了,第一次访问这两个网站是成功的,后来被云服务商发现这是我自己配置的域名,就不让访问了,但是整个代理过程是正确的;

include用法及搭配( include 指令的使用)(4)

F word