基于nginx实现负载均衡
- 搭建NFS服务。
安装软件:yum install -y nfs-utils*
yum install -y httpd*
启动软件:先启动守护进程systemctl start rpcbind,再启动运行进程systemctl start nfs
创建共享目录:mkdir /luntan
修改配置文件:vi /etc/exports --->文件内容例:/luntan *(rw,no_root_squash)
上传前端页面(wget下载):wgethttp://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip
关闭防火墙:systemctl stop firewalld
关闭selinux:setenforce 0
重启服务:systemctl restart nfs
- 搭建Apache服务(两台apache配置一样)
安装软件:Apache:两台主机安装apache+php+php-mysql
yum install -y httpd*
yum install -y php
yum install -y php-mysql
yum install -y nfs*
挂载NFS共享目录到/var/www/html:mount -t nfs 服务器IP:/luntan /var/www/html/
启动服务,关闭防火墙和selinux
- 搭建数据库服务。
Mariadb: 主机安装服务:yum install -y mariadb*
启动服务:systemctl start mariadb
配置密码:mysql_secure_installation 本机登录验证:mysql -uroot -p
登录授权:grant all privileges on *.* to ‘root’@’%’ identified by ‘123456’;
关闭防火墙和selinux
- 在浏览器上输入http://主机IP/install/index.php
- 添加负载均衡服务(两台nginx:一主一辅)
NGINX:配置网络源安装:vi nginx.repo
文件内容:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
安装:yum install -y nginx*
修改配置文件①:vi /etc/nginx/nginx.conf
内容:
http {
...
upstream backend {
server 192.168.100.102:80; apache1主机IP
server 192.168.100.103:80; apache2主机IP
}
}
修改配置文件②:vi /etc/nginx/conf.d/default.conf
文件内容:
server {
...
location / {
proxy_pass http://backend;
proxy_redirect default;
#设置代理
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
重启服务
使用浏览器访问 http://nginx主机IP,确认是否自动跳转到apache主机上
关闭apache1,刷新浏览器页面,看是否切换到apache2主机主页
- 在两个NGINX主机上安装keepalived
#yum install -y keepalived
修改配置/etc/keepalived/keepalived.conf
清空内容后,添加以下内容
global_defs {
router_id 1
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 1
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.100.200 --->(虚拟IP)
}
}
辅调度器上要稍作修改:
将 router_id 1 改为 router_id 2 --->(可随便写,不能和主调度器相同)
将 state MASTER 改为 state BACKUP --->(state是默认,master是主的意思,backup是辅)
将 priority 100 改为 priority 99 --->(小于主调度器)
其他一致即可
- reboot 重启主ngnix调度器
- 浏览器访问虚拟IP。