多级子域名配置同一台服务器地址的nginx配置

如题:当顶级域名充当官方网站后,公司还需要多个子域名进行配置指向问题,所以就会存在一天服务器同时指向多个域名的多个应用

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

再次访问就可以了

发布了66 篇原创文章 · 获赞 85 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_38380025/article/details/87974808