使用 Tomcat 作为后端服务
步骤1:修改 docker-compose.yml
文件
|
|
解释:
backend
服务现在使用了tomcat:9
官方镜像。expose: 8080
表示 Tomcat 容器内部监听 8080 端口(它不会直接暴露到宿主机,但 Nginx 容器可以通过该端口访问)。volumes
挂载了一个本地的webapps
目录到 Tomcat 容器中的/usr/local/tomcat/webapps
,这是 Tomcat 默认存放 Web 应用的地方。你可以将你的.war
文件放在webapps
目录中,Tomcat 会自动部署它。
步骤 2: 配置 Nginx
nginx/default.conf
文件中的配置无需更改,继续保持如下配置,确保 Nginx 将请求转发到 Tomcat:
|
|
步骤 3: 启动服务
确保你已经在项目目录中,然后执行以下命令启动 Docker Compose:
|
|
这会启动 Tomcat 和 Nginx 容器,Tomcat 会监听 8080 端口,Nginx 会将请求反向代理到 Tomcat 上。
步骤 4: 测试
你可以通过浏览器访问主机的 IP 地址或 localhost
来测试反向代理:
|
|
Nginx 会将请求转发给 Tomcat,Tomcat 会根据你的应用返回响应。
步骤 5: 部署应用
如果你有一个 Web 应用(例如 .war
文件),可以将它放在项目中的 webapps
目录下,Tomcat 会自动部署这个应用。你可以使用 docker-compose down
停止服务,然后通过以下命令重新启动:
|
|
Tomcat 会重新加载并部署新的应用。
总结
后端服务:使用 Tomcat 镜像并将其配置为监听 8080 端口。
Nginx 反向代理:将所有请求代理到 Tomcat 上,通过
proxy_pass
实现。应用部署:通过挂载本地
webapps
目录,将.war
文件部署到 Tomcat 中。
这样,Tomcat 和 Nginx 就可以很好地结合使用,Nginx 作为反向代理,Tomcat 作为后端应用服务器。