如题:当顶级域名充当官方网站后,公司还需要多个子域名进行配置指向问题,所以就会存在一天服务器同时指向多个域名的多个应用
nginx本身监听的是80端口,所以我们把在购买域名厂商那配置好解析ip地址的指向,
其次就时再服务器进行nginx 的设置(本文以linux为例)
打开nginx的安装目录的conf中的nginx.conf文件
vi /usr/local/nginx/conf/nginx.conf
找到 server{
listen 80;// 监听的80端口
server_name localhost;// 指向的是本机 也就是127.0.0.1
}
这不用管,直接跳到最下方(开启大写键,按两个GG 可以跳到最后)
按i 进行编辑 放入如下
server{
listen 80; //监听的80端口
server_name *.XXX.com;
//*不用改,只需要修改XXX.com, 修改成你的顶级域
//如:你的顶级域名是www.client.com
//你的子域名就是 test1.client.com test2.client.com
if ( $http_host ~* "^(.*?)\.XXX\.com" ){ //修改xxx 同上
set $domain $1;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
if ( $domain ~* "test1" ) { //修改test1 改成自己的子域名前缀
proxy_pass http://127.0.01:111; //配置应用端口
}
if ( $domain ~* "test2" ) { //修改test2 改成自己的子域名前缀
proxy_pass http://127.0.01:222; //配置应用端口
}
if ( $domain ~* "test3" ){ //修改test3 改成自己的子域名前缀
proxy_pass http://127.0.01:333; //配置应用端口
}
}
}
需要注意的是,nginx.conf 文件的最后有一个 } 符号,不要放到括号外面,否则启动nginx 会报错的,
修改完成后,听到nginx 在重新启动 或者 重载配置 在sbin目录 ./nginx -s reload
再次访问就可以了