tomcat常见的部署方式

方式一、把项目打成名为ROOT.war包,放到tomcat的webapps下,启动tomcat时候会自动解压

方式二、把项目打成war包,包名随意,需要自己解压,同样放到webapps下,在server.xml中<host></host>加上

<Context path="" debug="0" docBase="解压后的war包名" reloadable="true"/>#docBase填写项war包的解压名

方式三、把项目打成war包,包名随意,需要自己解压,放在路径下即可,无需放在webapps下,在server.xml中<host></host>加上

#docBase填写项目war包的绝对路径,insight为war包的解压名
<Context path="" debug="0" docBase="/opt/project/insight" reloadable="true"/>

以上三种方式都可以通过http://ip+port/路径  访问到,如:http://101.21.71.11:8080/index.html

 

方式四、有时候我们只有一个域名, 需要部署两个或者多个服务,如输入www.baidu.cm进入官网首页,输入www.baidu.com/back进入管理后台首页,这时候我们就要Context中path了,同样在后台服务的tomcat中server.xml中<host></host>加上

#path为访问路径前缀,docBase填写项目war包的绝对路径,insight为解压的war包的名字
<Context path="/back" debug="0" docBase="/opt/project/insight" reloadable="true"/>

如果nginx代理了tomcat,还需要在nginx中配置location后加上path路径,没有nginx代理便无需配置

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;#证书路径
    
        #官网
        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;
                }
        }
   }

这样就做到了一个域名,通过映射访问多个服务了

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值