1.前言
我们不妨设想一下,如果我们的网站只有一台服务器,不幸的是服务器挂掉了。可想而知,我们的网站也就不能被正常访问到。这个时候凸显出负载均衡的重要性。负载均衡是将负载分摊到不同的服务器,保证了服务器的可用性,解决某台服务器负载高宕机而不会让服务器出现闲置的情况。
切记负载均衡的作用:减轻服务器压力。如果有2台服务器做nginx,访问压力就会均分。这样也可以减少单台服务器的压力。
2.下面说一说nginx服务器的优势
nginx不单可以作为强大的web服务器,可以搭建负载均衡,也可以作为一个反向代理服务器。所以在做网站时,会选择用nginx服务器做前台,毕竟前台才是用户正常访问请求的。而后台多半会选择Apache服务器,后台的话,主要是一些管理者处理一些数据的增删查改,Apache服务器就可以搞定的。
3.配置负载
(1)测试环境
做负载均衡至少要有两台服务器 ,本次测试直接选择在本地,然后我在VMware里安装了两台CentOS7。
测试域名:www.gentry.com
A服务器ip:192.168.1.249(主)
B服务器ip:192.168.1.212
注:上面两台服务器上分别安装了lamp和lmnp环境,当访问ip地址,默认请求Apache服务器,端口号是80。当访问ip地址:81,会请求道Nginx服务器。
(2)配置思路
A服务器做为主服务器,域名直接解析到A服务器(192.168.1.249)上,由A服务器负载均衡到B服务器(192.168.1.212)与(192.168.1.212:81)
(3)实际操作
vi /etc/nginx/conf.d/default.conf 进入nginx主服务器配置文件
//upstream 设定后端服务器,指定的方式可以是 IP 地址与端口、域名
upstream site{
server 192.168.1.212;
server 192.168.1.212:81;
}
server {
listen 81;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://site;
}
//proxy_pass配置为:http:// + upstream名称
重启nginx服务器 systemctl restart nginx.service
(4)测试
当访问gentry.com(192.168.1.249)的时候,为了区分是转向哪台服务器处理在B服务器下写一个不同内容的index.html文件,以作区分。
打开浏览器访问gentry.com结果,刷新会发现所有的请求均分别被主服务器(192.168.1.249)分配到B服务器(192.168.1.212)与B服务器(192.168.1.212:81)上,实现了负载均衡效果。