nginx+tomcat绑定二级域名,部署多个应用
本文介绍在阿里云上开通二级域名,并使用单个tomcat部署多个应用和ngnix+tomcat(多个)两种方式实现多个应用的部署,以下为操作步骤。
通过CNAME开通二级域名解析
开通二级域名解析,如下图所示,通过CNAME解析后会生成blog.admineap.com的二级域名。
在本实验中,顶级域名和二级域名同时指向同一IP,如果单个tomcat绑定顶级域名和二级域名的应用可通过Tomcat的Host配置实现;
如果部署了多个tomcat,可通过ngnix的方式实现;
下面分别介绍这两种方法
方法1:tomcat通过host绑定多个域名
在tomcat的server.xml的配置文件中新增一处host配置,指向二级域名blog.admineap.com对应的应用
<Enginename="Catalina"defaultHost="localhost"><RealmclassName="org.apache.catalina.realm.LockOutRealm"><RealmclassName="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/>Realm><Hostname="localhost"appBase="webapps"unpackWARs="true"autoDeploy="true"debug="0"><ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs/main"prefix="localhost_access_log."suffix=".txt"pattern="%h %l %u %t "%r" %s %b"/><Contextpath=""docBase="/AdminEAP-web"reloadable="true"/><Hostname="blog.admineap.com"appBase="webapps"unpackWARs="true"autoDeploy="true"debug="0"><ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs/blog"prefix="localhost_access_log."suffix=".txt"pattern="%h %l %u %t "%r" %s %b"/><Contextpath=""docBase="/Blog"reloadable="true"/>
需要注意的是:在第一个host的name可以配置成www.admineap.com,也可以配置成localhost,此处配置成localhost是因为www.admineap.com以后,tomcat的热部署(通过客户端mvn tomcat7:redeploy)失败,因为连不上tomcat服务器。
方法2:nginx+tomcat绑定二级域名
为了使得单个tomcat的压力不要太大,可在服务器部署多个tomcat(可用不同的ip地址),nginx作为代理服务器既可以作为静态资源服务器,也可以作为负载均衡服务器,可以将同一域名的请求分发多个应用服务器,也可以将不同的域名的请求分发到不同的服务器(本文使用的方法);
(1) 安装nginx,修改配置
upstream admineap {server localhost:8080;多个服务器可部署集群server localhost:8081;}upstream admineap_blog {server localhost:8081;}server {listen80;server_name www.admineap.com;charset koi8-r;access_log logs/host.access.log main;location / {root html;index index.html index.htm;proxy_pass http://admineap;proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Scheme $scheme;proxy_connect_timeout3;proxy_read_timeout3;proxy_send_timeout3;access_log off;break;}error_page404/404.html;redirect server error pages to thestaticpage /50x.htmlerror_page500 502 503 504/50x.html;location = /50x.html {root html;}proxy the PHP scripts to Apache listening on127.0.0.1:80location ~ \.php$ {proxy_pass http://127.0.0.1;}pass the PHP scripts to FastCGI server listening on127.0.0.1:9000location ~ \.php$ {root html;fastcgi_pass127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;include fastcgi_params;}deny access to .htaccess files, ifApaches document rootconcurs with nginxs onelocation ~ /\.ht {deny all;}}server {listen80;server_name blog.admineap.com;charset koi8-r;access_log logs/host.access.log main;location / {root html;index index.html index.htm;proxy_pass http://admineap_blog;proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Scheme $scheme;proxy_connect_timeout3;proxy_read_timeout3;proxy_send_timeout3;access_log off;break;}
(2) 启动tomcat,查看效果
原文:https://blog.csdn.net/jrn1012/article/details/70598363
欢迎访问我的博客: www.upint.cn