服务器部署_linuix下 一台nginx 多域名之二

    第二个需求:

     1. 一台服务器部署了三个应用web1~web3对应三个域名:www.web1.com、www.web2.com、www.web3.com ,方法参照我另外一篇文章

     2. 如果用非www.web1.com、www.web2.com、www.web3.com访问的话则自动跳转到www.web1.com上。

    策略:

    1. 安装tomcat、nginx 等,nginx安装在/export/servers/nginx目录中

    2. 创建域名配置文件存放目录     

mkdir -p /export/servers/nginx/conf/domains

   3. 在创建的目录下简历域名配置文件www.web.com,并键入下面的内容:


upstream web1.com {
  server 127.0.0.1:8001 weight=10 max_fails=2 fail_timeout=30s;
}
upstream web2.com {
  server 127.0.0.1:8002 weight=10 max_fails=2 fail_timeout=30s;
}
upstream web3.com {
  server 127.0.0.1:8003 weight=10 max_fails=2 fail_timeout=30s;
}


server
{
   listen 80;
   server_name ~^(www.)?(.+)$;
   index index.jsp index.html index.htm;
   access_log /export/servers/nginx/logs/$2_access.log main;
   error_log /export/servers/nginx/logs/$2_error.log warn;


#先判断访问的目标域名是否是已配置的三个
set $argEnd $2;
if ($argEnd != web1.com ){
  set $flag "y";
}

if ($argEnd != web2.com ){
  set $flag "${flag}y";
}

if ($argEnd != web3.com ){
  set $flag "${flag}y";
}
if ($flag = yyy){
    #如果不是则跳转到www.web1.com
  rewrite ^/(.*)$ http://www.web1.com/$1 permanent;
}
#请求没有被以上规则匹配,则认为是已配置的三个域名之一

root /export/data/tomcatRoot/$2;

location / {
  proxy_pass http://$2;
}

}

 

    

原文地址:https://www.cnblogs.com/onmyway20xx/p/3664156.html