1. 程式人生 > >tomcat常見的部署方式

tomcat常見的部署方式

1、把專案打成名為ROOT.war包,放到tomcat的webapps下,啟動tomcat時候會自動解壓

2、把專案打成war包,包名隨意,需要自己解壓,同樣放到webapps下,在server.xml中<host></host>加上

<Context path="" debug="0" docBase="war包名" reloadable="true"/>#docBase填寫專案war包的名

3、把專案打成war包,包名隨意,需要自己解壓,放在任意盤中即可,無須放在webapps下,在server.xml中<host></host>加上

<Context path="" debug="0" docBase="/opt/project/insight" reloadable="true"/>
#docBase填寫專案war包的絕對路徑,insight為解壓的war包名

4、有時候我們只有一個域名, 需要部署兩個或者多個服務,如輸入www.baidu.cm進入官網首頁,輸入www.baidu.com/back進入管理後臺首頁,這時候我們就要Context中path了,同樣在後臺服務的tomcat中server.xml中<host></host>加上

<Context path="/back" debug="0" docBase="/opt/project/insight" reloadable="true"/>
#path為訪問路徑字首,docBase填寫專案war包的絕對路徑,insight為解壓的war包名

如果nginx代理了tomcat,還需要在nginx中配置location後加上path路徑

server {
        listen 80; #同時監聽80和443
        listen 443 ssl; #https,若不支援HTTPS,下邊ssl開頭的不需要加
        access_log  logs/xxx/https_access.log;
        server_name    www.baidu.com; #假設是這個域名
        ssl_certificate   /usr/local/nginx/cert/214688691030891.pem; #證書路徑
        ssl_certificate_key  /usr/local/nginx/cert/214688691030891.key;#證書路徑
        ssl_prefer_server_ciphers on; #開啟加密
        #官網
        location / {
                root html;
                index index.html index.htm;
                proxy_set_header       Host $host;
                proxy_set_header   X-Real-IP   $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass      http://101.80.51.50:8080; #內網tomcat地址
                proxy_redirect http:// $scheme://;
                if ( $server_port = 80 ){
                         rewrite ^(.*) https://$server_name$1 permanent;
                }
        }
       #管理後臺或者其他服務,/back為訪問路徑
       location /back {
             proxy_set_header       Host $host;
             proxy_set_header   X-Real-IP   $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass      http://101.81.51.50:8081; #內網tomcat地址
             proxy_redirect http:// $scheme://;
                if ( $server_port = 80 ){
                         rewrite ^(.*) https://$server_name$1 permanent;
                }
        }
   }

這樣就做到了一個域名,通過對映訪問多個服務了