在Docker环境中,我们可以通过Docker Compose来快速部署一个Nginx与Tomcat的负载均衡配置。以下是具体步骤和示例代码:
- 创建一个
docker-compose.yml
文件,内容如下:
version: '3'
services:
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on:
- tomcat
- tomcat
tomcat1:
image: tomcat:latest
ports:
- "8080:8080"
tomcat2:
image: tomcat:latest
ports:
- "8081:8080"
- 创建一个Nginx配置文件
nginx.conf
,内容如下:
events {}
http {
upstream tomcat_server {
server tomcat1:8080;
server tomcat2:8080;
}
server {
listen 80;
location / {
proxy_pass http://tomcat_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
- 在终端中运行以下命令来启动服务:
docker-compose up -d
以上配置将启动一个Nginx服务器和两个Tomcat容器,Nginx将请求按照轮询方式分配到两个Tomcat容器。
确保你的docker-compose.yml
和nginx.conf
文件在同一目录下,并且替换它们的内容为上面的内容。然后运行docker-compose up -d
命令,Docker Compose将会根据配置文件自动启动相应的服务。
访问宿主机的80端口,你将看到Nginx服务器代理到Tomcat容器的输出。这样就完成了一个简单的Nginx与Tomcat的负载均衡配置。