使用 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 作为后端应用服务器。