一、配置nginx
server1上
1)源码安装nginx
可在官方网站www.nginx.org上下载安装包。
[root@server1 ~]# tar zxf nginx-1.14.0.tar.gz
[root@server1 ~]# ls
crmsh-1.2.6-0.rc2.2.1.x86_64.rpm nginx-1.14.0.tar.gz
haproxy-1.4.24.tar.gz pssh-2.3.1-2.1.x86_64.rpm
nginx-1.14.0
[root@server1 ~]# cd nginx-1.14.0
[root@server1 nginx-1.14.0]# ls
auto CHANGES.ru configure html man src
CHANGES conf contrib LICENSE README
2)源码编译三部曲
configure配置
这里出现错误提示,根据提示解决相关依赖性。
再次configure成功,查看也生成了Makefile
make开始编译
make install开始安装
这样nginx就安装到了我们指定的路径下,可到指定路径下查看
3)做软连接
4)调试
补充说明:
/etc/nginx/conf.d/default.conf ## 配置文件
/usr/share/nginx/html ## 默认发布目录
/usr/share/alsa/pcm/default.conf ## amh控制面板
二、实现nginx负载均衡
1)配置nginx
这里在编译的时候没有指定用户和用户组,所以需要创建nginx用户和用户组,方便管理。
修改配置文件
检测配置文件是否正确,以及重新加载:
2)物理主机上进行测试
进行解析
server1上解析
物理机上解析
查看后端服务器server2和server3的测试页是否正确,以及打开http服务。
测试:
三、实现高可用
1)在server4上同样配置nginx,可直接将server1的文件拷贝到server4上。
做软连接,创建nginx用户
这样server4上的nginx配置就完成了。
2)server1和server4上配置pacemaker
注意:关闭nginx,采用集群来管理nginx服务
server1上进行修改配置文件,启动服务,并将配置文件发给server4
开启corosync服务:
/etc/init.d/corosync start
添加vip服务
[root@server1 ~]# crm
crm(live)# configure
crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.96.100 cidr_netmask=32 op monitor interval=30s
crm(live)configure# commit
crm(live)configure# property no-quorum-policy=ignore
crm(live)configure# commit
添加nginx服务,并将nginx服务和vip添加在一个group里面,防止vip和nginx在不同的server上,产生错误。
crm(live)configure# primitive nginx lsb:nginx op monitor interval=30s
crm(live)configure# commit
crm(live)configure# group nginx group vip nginx
crm(live)configure# commit
物理机上发送fence_xvm.key给server1和server4
安装fence-virt
yum install -y fence-virt-0.2.3-24.el6.x86_64.rpm
添加fence
[root@server1 ~]# crm
crm(live)# configure
crm(live)configure# primitive vmfence stonith:fence_xvm params pcmk_host_map="server1:vm1;server4:vm4" op monitor interval=30s
crm(live)configure# commit
crm(live)configure# property stonith-enabled=true
crm(live)configure# commit
高可用状态:
这里可以看到fence和我们的组里面的服务都在server1上,应该fence在server4上,说明server4主机的fence有问题
进入到资源中,cleanup vmfence
再次查看高可用状态:
vmfence已经转换到server4上。
测试fence
直接使server1的内核崩溃,查看server是否可以重启
[root@server1 ~]# echo c > /proc/sysrq-trigger
等待一会后自己重新启动