1 Tomcat管理用户与角色
编辑apache-tomcat-10.0.8\conf\tomcat-users.xml,同时赋予admin两个role,以便访问/host-manager and /manager
<role rolename="admin-gui"/>
<user username="admin" password="***" roles="manager-gui,admin-gui"/>
2 虚拟主机
在系统hosts文件做好域名映射后,编辑 apache-tomcat-10.0.8\conf\server.xml, 添加
a. 访问编译目录
<Host name="maven-webapp1.local.com" appBase=""
unpackWARs="true" autoDeploy="true">
<Context docBase="D:\Job_develop\Java\testbase\maven-webapp1\target\maven-webapp1" path="" reloalable="true" crossContext="true"/>
</Host>
b. 访问war包
<Host name="maven-webapp1.local.com" appBase=""
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="D:\Job_develop\Java\testbase\maven-webapp1\target\maven-webapp1.war" debug="0" reloadable="true"/>
</Host>
这样就能以虚拟主机方式访问你的webapp了。
3 以站点应用访问,形如 http://localhost:8080/maven-webapp1/signin
只需把war文件部署到路径: apache-tomcat-10.0.8\webapps
4 nginx代理设置
server {
listen 80;
server_name maven-webapp1.local.com
# 静态文件根目录:
root /path/to/src/main/webapp;
access_log /var/log/nginx/webapp_access_log;
error_log /var/log/nginx/webapp_error_log;
# 处理静态文件请求:
location /static {
}
# 处理静态文件请求:
location /favicon.ico {
}
# 不允许请求/WEB-INF:
location /WEB-INF {
return 404;
}
# 其他请求转发给Tomcat:
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Last: 注意项
基于hsqldb文件方式存储的,相同路径不能为多个app持有,比如WebApp1连了url: jdbc:hsqldb:file:db/testdb01, 那么其他app就不能再用该路径,否则tomcat会启动报错。