方式一、把项目打成名为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;
}
}
}
这样就做到了一个域名,通过映射访问多个服务了