1. 实验内容
准备2台Apache服务器A和B,然后使用Nignx作为反向代理服务器,根据接收到的不同URL,将请求分别转发到A和B.
2. Apache服务器准备
这里通过docker来演示.
1)拉取镜像
https://hub.docker.com/_/httpd
sudo docker pull httpd
2)启动2个web容器
sudo docker run --name web01 -d -it --privileged httpd
sudo docker run --name web02 -d -it --privileged httpd
3)分别进入两个web容器,配置各自的显示信息
- web01
# 进入容器web01
sudo docker exec -it web01 /bin/bash
# 查看欢迎页内容
cat htdocs/index.html
对内容稍作添加
echo 'This is web01' >> htdocs/index.html
- web02
重复web01的动作,添加内容为
sudo docker exec -it web02 /bin/bash
echo 'This is web02' >> htdocs/index.html
3. Nginx服务器准备
这里还是用docker容器来做.
至于具体的nginx安装演示我在另一篇博客里进行了简单演示.
https://blog.csdn.net/Leonardy/article/details/104673128
启动,并进入容器
# 启动容器
sudo docker run --name nginx01 -d -it --privileged -p 80:80 centos:nginx /usr/sbin/init
# 进入容器
sudo docker exec -it nginx01 /bin/bash
编辑nginx配置文件
vi /usr/local/nginx/nginx.conf
添加如下配置:
实际访问如下:
http://xxx.xxx.xxx.xxx/web01
# 转发至
http://172.18.0.3/
http://xxx.xxx.xxx.xxx/web02
# 转发至
http://172.18.0.4/
修改后需要reload配置文件
sudo /usr/local/nginx/nginx -s reload