赞
踩
1、下载openssl主要用于ssl模块加密,支持htps
wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
2、下载 pcre来实现地址重定向,地址重写功能和localtion指令以及正则表达式的支持
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
3、下载zlib gzip压缩模块
wget https://zlib.net/zlib-1.2.11.tar.gz
4、下载nginx
wget http://nginx.org/download/nginx-1.17.1.tar.gz
5、使用tar解压多有的文件
ls *.tar.gz | xargs -n1 tar xzvf
6、编译安装
./configure \
--with-openssl=../openssl-1.0.2s \
--with-pcre=../pcre-8.43 \
--with-zlib=../zlib-1.2.11 \
--with-pcre-jit --user=admin \
--prefix=/home/admin/nginx \
--with-http_ssl_module \
--with-http_v2_module
7、编译
make
8、安装
make install
9、设置权限
sudo chown root nginx
sudo chmod u+s nginx
10、启动nginx
./nginx
如果出现以下错误
nginx: [emerg] getpwnam("admin") failed
检查用户组是否存在admin
cat /etc/group
创建用户组admin和创建用户
/usr/sbin/groupadd -f admin
/usr/sbin/useradd -g admin admin
修改admin的密码,需要输入两次密码:Drxm_24mysql
passwd admin
11、查看nginx是否启动成功
ps -ef | grep nginx
1、下载keepalived
wget http://keepalived.org/software/keepalived-2.0.18.tar.gz
2、解压文件
tar -zxvf keepalived-2.0.18.tar.gz -C /usr/local
3、进入keepalived的目录并进行编译
cd /usr/local/keepalived-2.0.18/
./configure --prefix=/usr/local/keepalived/
如果出现这个错误
!!! OpenSSL is not properly installed on your system. !!!
执行此命令,然后在编译
yum -y install openssl-devel
4、进行安装
make && make install
5、进入keepalived的配置文件,修改配置文件
global_defs { notification_email { #mr@mruse.cn # 指定keepalived在发生切换时需要发送email到的对象,一行一个 #sysadmin@firewall.loc } notification_email_from xxx@163.com # 指定发件人 smtp_server smtp@163.com # smtp 服务器地址 smtp_connect_timeout 30 # smtp 服务器连接超时时间 router_id LVS_1 # 必填,标识本节点的字符串,通常为hostname,但不一定非得是hostname,故障发生时,邮件通知会用到 } vrrp_script chk_nginx { #详细看下面 script "/etc/keepalived/tomcat_check.sh" #检测服务shell interval 2 #每个多长时间探测一次 weight -20 #每个多长时间探测一次 } _instance VI_1 { # 实例名称 state MASTER # 必填,可以是MASTER或BACKUP,不过当其他节点keepalived启动时会将priority比较大的节点选举为MASTER interface ens33 # 必填, 节点固有IP(非VIP)的网卡,用来发VRRP包做心跳检测 mcast_src_ip 172.16.1.139 #本机的ip,需要修改 virtual_router_id 101 # 必填,虚拟路由ID,取值在0-255之间,用来区分多个instance的VRRP组播,同一网段内ID不能重复;主备必须为一样; priority 100 # 必填,用来选举master的,要成为master那么这个选项的值最好高于其他机器50个点,该项取值范围是1-255(在此范围之外会被识别成默认值100) advert_int 1 # 必填,检查间隔默认为1秒,即1秒进行一次master选举(可以认为是健康查检时间间隔) authentication { # 必填,认证区域,认证类型有PASS和HA(IPSEC),推荐使用PASS(密码只识别前8位) auth_type PASS # 默认是PASS认证 auth_pass 1111 # PASS认证密码 } virtual_ipaddress { 172.16.1.100 # 必填,虚拟VIP地址,允许多个 } track_script { # 检测shell chk_nginx } }
6、修改备用机器的keepalived的机器
global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_2 vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_script chk_nginx { script "/etc/keepalived/nginx_check.sh" } vrrp_script chk_nginx { script "/etc/keepalived/nginx_check.sh" interval 2 weight -20 } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 146 mcast_src_ip 172.16.1.79 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script{ chk_nginx } virtual_ipaddress { 172.16.1.100 } }
7、编辑chk_nginx脚本
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
/home/admin/nginx/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
8、设置keepalived服务为开机自启动的服务
systemctl enable keepalived.service
9、启动keepalived服务
service keepalived start
10、测试虚拟IP
ip add
11、使用vip访问,查看是否可以。
当访问不通时,说明此方案失败。
注意此方案的前提条件是:服务器必须支持VIP(虚拟IP)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。