配置环境
服务器1
主机名:proxy-01.onitroad.com
IP地址:192.168.1.100/24
服务: Nginx
作用: 反向代理和 HTTP 负载均衡器
服务器2
主机名:web-01.onitroad.com
IP地址:192.168.1.102/24
服务: Apache
作用: 托管网站
服务器3
主机名:web-02.onitroad.com
IP地址:192.168.1.102/24
服务: Apache
作用: 托管网站
我们已经将web-01.onitroad.com 和 web-02.onitroad.com 配置为 Web 服务器。
Apache都在80端口提供web服务。
在 CentOS 7 上安装 Nginx Web 服务器
登录到 proxy-01.onitroad.com。
安装 EPEL yum 存储库。
[root@proxy-01 ~]# yum install -y epel-release
让 yum 使用以下命令创建存储库缓存。
[root@proxy-01 ~]# yum makecache
从 EPEL yum 存储库安装 Nginx Web 服务器。
[root@proxy-01 ~]# yum install -y nginx
启动并启用 nginx.service 。
[root@proxy-01 ~]# systemctl start nginx.service [root@proxy-01 ~]# systemctl enable nginx.service Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
在 Linux 防火墙中允许 http 服务。
[root@proxy-01 ~]# firewall-cmd --permanent --add-service=http success [root@proxy-01 ~]# firewall-cmd --reload success
浏览器打开 http://proxy-01.onitroad.com。
可以看到nginx默认页面。
Nginx 是一个免费的开源 Web 服务器。
Nginx 还可以用作反向代理、负载均衡器、邮件代理和 HTTP 缓存。
目前,它是 Internet 上使用第二广泛的 Web 服务器。
此外,还有许多 Web 服务器使用 Nginx 作为反向代理和负载均衡器。
在本文中,我们将在 CentOS 7 中将 Nginx 配置为 HTTP 负载均衡器。
将 Nginx 配置为 HTTP 负载均衡器
我们的 Nginx Web 服务器已经配置并运行在默认的 HTTP 端口 80。
虽然我们可以配置与反向代理负载均衡器相同的 HTTP 端口,但我们会保持干净并为端口 8888 添加新配置。
创建一个新的 Nginx 配置文件。
[root@proxy-01 ~]# vi /etc/nginx/conf.d/app.conf
其中添加以下指令。
upstream appset { server web-01.onitroad.com; server web-02.onitroad.com; } server { listen 8888; location / { proxy_pass http://appset; } }
调整 SELinux 策略,允许 Nginx 在 8888 端口上运行 HTTP 服务。
[root@proxy-01 ~]# semanage port -a -t http_port_t -p tcp 8888
在 Linux 防火墙中允许服务端口 8888/tcp。
[root@proxy-01 ~]# firewall-cmd --permanent --add-port=8888/tcp success [root@proxy-01 ~]# firewall-cmd --reload success
重启 nginx.service。
[root@proxy-01 ~]# systemctl restart nginx.service
在客户端浏览器中打开 URL http://proxy-01.onitroad.com:8888/。
我们的请求由 web-02.onitroad.com 提供。
再次刷新网页。
现在它将我们的请求转发到 web-01.onitroad.com 。
我们已经使用 Nginx Web 服务器配置了反向代理和负载均衡器。