您的位置:首页 > 运维架构 > Nginx

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

2014-04-14 15:29 239 查看
第二个需求:

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,并键入下面的内容:


upstreamweb1.com{
  server127.0.0.1:8001weight=10max_fails=2fail_timeout=30s;
}
upstreamweb2.com{
  server127.0.0.1:8002weight=10max_fails=2fail_timeout=30s;
}
upstreamweb3.com{
  server127.0.0.1:8003weight=10max_fails=2fail_timeout=30s;
}

server
{
  listen80;
  server_name~^(www\.)?(.+)$;
  indexindex.jspindex.htmlindex.htm;
  access_log/export/servers/nginx/logs/$2_access.logmain;
  error_log/export/servers/nginx/logs/$2_error.logwarn;


#先判断访问的目标域名是否是已配置的三个
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/$1permanent;
}
#请求没有被以上规则匹配,则认为是已配置的三个域名之一

root/export/data/tomcatRoot/$2;

location/{
  proxy_passhttp://$2;}

}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: