IP规划:
servera,serverd作为web服务器
serverb作为nginx负载均衡服务器
serverc域名映射服务器
servera(192.168.233.132)配置:
# 安装Nginx
yum install nginx -y# 进入Nginx配置文件目录
cd /etc/nginx/conf.d/# 编辑配置文件,定义两个虚拟主机www.bbs.com和www.blog.com
vim www.conf# 配置www.bbs.com虚拟主机
server {listen 80; # 监听80端口server_name www.bbs.com; # 域名为www.bbs.comroot /data/bbs; # 网站根目录为/data/bbslocation / { index index.html;}
}# 配置www.blog.com虚拟主机
server {listen 80; # 监听80端口server_name www.blog.com; # 域名为www.blog.comroot /data/blog; # 网站根目录为/data/bloglocation / { index index.html;}
}# 创建网站目录
mkdir -p /data/{blog,bbs}# 在网站目录中创建首页文件
echo "`hostname -I`, bbs" > /data/bbs/index.html
echo "`hostname -I`, blog" > /data/blog/index.html# 重启Nginx服务
systemctl restart nginx
serverd(192.168.233.141)配置同servera
serverc(192.168.233.140)配置:
# 使用vim编辑/etc/hosts文件,将域名www.bbs.com和www.blog.com映射到IP地址192.168.233.132
vim /etc/hosts
192.168.233.132 www.bbs.com www.blog.com# 使用curl命令测试解析www.blog.com域名是否成功
curl www.blog.com
serverb(192.168.233.144)配置:
# 安装Nginx
yum install nginx -y# 进入Nginx配置文件目录
cd /etc/nginx/conf.d/# 编辑Nginx主配置文件nginx.conf
vi nginx.conf
# 注释掉默认的listen和root配置
# listen 80;
# listen [::]:80;
# root /usr/share/nginx/html;# 进入Nginx虚拟主机配置文件目录
cd conf.d/# 编辑代理配置文件proxy.conf
vim proxy.conf
# 配置代理池upstream wwwPools,指定两个后端服务器
upstream wwwPools {server 192.168.233.132;server 192.168.233.141;
}# 配置www.bbs.com虚拟主机
server {listen 80;server_name www.bbs.com;location / {proxy_pass http://wwwPools; # 使用代理池转发请求到后端服务器proxy_set_header host $host; # 设置代理请求头proxy_set_header X-Forwarded-For $remote_addr; # 设置代理请求者IP地址}
}# 配置www.blog.com虚拟主机
server {listen 80;server_name www.blog.com;location / {proxy_pass http://wwwPools; # 使用代理池转发请求到后端服务器proxy_set_header host $host; # 设置代理请求头proxy_set_header X-Forwarded-For $remote_addr; # 设置代理请求者IP地址}
}# 重启Nginx服务
systemctl restart nginx# 测试代理设置,修改域名解析为192.168.233.144
# 执行4次curl请求测试www.bbs.com域名是否成功解析并代理到后端服务器
for ((i=1;i<=4;i++)); do curl http://www.bbs.com; done