代码拉取完成,页面将自动刷新
同步操作将从 冷川/Linux-Tutorial 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
软件版本:
部署环境(下文中以第几台来代表这些主机):
所有机子进行时间校准:NTP(Network Time Protocol)介绍
第三、第四台主机部署:
第一、二台主机部署(两台部署内容一样):
sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0 >>> 这个需要修改
TYPE=Ethernet
UUID=8ddbb256-caab-4ddf-8e9a-6527b4ac5a26
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.1.50 >>> 这个需要修改
PREFIX=24
GATEWAY=192.168.1.1
DNS1=101.226.4.6
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0:0" >>> 这个需要修改
HWADDR=00:0c:29:f4:17:db
LAST_CONNECT=1460213205
service network restart
sudo yum install -y gcc openssl-devel popt-devel
cd /opt/setups/ ; tar zxvf keepalived-1.2.20.tar.gz
cd /opt/setups/keepalived-1.2.20 ; ./configure --prefix=/usr/program/keepalived
make && make install
cp /usr/program/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
chmod +x /etc/init.d/keepalived
vim /etc/init.d/keepalived
把 15 行的:. /etc/sysconfig/keepalived,改为:
. /usr/program/keepalived/etc/sysconfig/keepalived(注意:前面有一个点和空格需要注意)
vim /etc/profile
# Keepalived 配置
KEEPALIVED_HOME=/usr/program/keepalived
PATH=$PATH:$KEEPALIVED_HOME/sbin
export KEEPALIVED_HOME
export PATH
source /etc/profile
keepalived -v
ln -s /usr/program/keepalived/sbin/keepalived /usr/sbin/
vim /usr/program/keepalived/etc/sysconfig/keepalived
把 14 行的:KEEPALIVED_OPTIONS="-D",改为:
KEEPALIVED_OPTIONS="-D -f /usr/program/keepalived/etc/keepalived/keepalived.conf"
chkconfig keepalived on
第一、二台主机配置(两台在 Keepalived 配置上稍微有不一样):
chmod 755 /opt/bash/nginx_check.sh
sh /opt/bash/nginx_check.sh
,如果没有报错,则表示改脚本没有问题
Keepalived_vrrp[5684]: pid 5959 exited with status 1
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# (重点)
upstream tomcatCluster {
server 192.168.1.122:8080 weight=1;
server 192.168.1.123:8080 weight=1;
}
# (重点)
server {
listen 80;
server_name 192.168.1.50;
location / {
proxy_pass http://tomcatCluster;
index index.html index.htm;
}
}
}
vim /usr/program/keepalived/etc/keepalived/keepalived.conf
! Configuration File for keepalived
# 全局配置
global_defs {
# 邮箱通知配置,keepalived 在发生切换时需要发送 email 到的对象,一行一个
notification_email {
#acassen@firewall.loc
#failover@firewall.loc
#sysadmin@firewall.loc
}
# 指定发件人
#notification_email_from Alexandre.Cassen@firewall.loc
# 指定smtp服务器地址
#smtp_server 192.168.200.1
# 指定smtp连接超时时间,单位秒
#smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_strict
}
# (重点)脚本监控实现
vrrp_script check_nginx {
# 运行脚本
script "/opt/bash/nginx_check.sh"
# 时间间隔,2秒
interval 2
# 权重
weight 2
}
vrrp_instance VI_1 {
# (重点)Backup 机子这里是设置为:BACKUP
state MASTER
interface eth0
virtual_router_id 51
# (重点)Backup 机子要小于当前 Master 设置的 100,建议设置为 99
priority 100
# Master 与 Backup 负载均衡器之间同步检查的时间间隔,单位是秒
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
# (重点)配置虚拟 IP 地址,如果有多个则一行一个
virtual_ipaddress {
192.168.1.50
}
# (重点)脚本监控调用
track_script {
check_nginx
}
}
service iptables stop
sh /usr/program/tomcat8/bin/startup.sh ; tail -200f /usr/program/tomcat8/logs/catalina.out
http://192.168.1.122:8080
http://192.168.1.123:8080
/usr/local/nginx/sbin/nginx
service keepalived start
tail -f /var/log/messages
tail -f /var/log/messages
service keepalived stop
tail -f /var/log/messages
service keepalived restart
tail -f /var/log/messages
/usr/local/nginx/sbin/nginx -s stop
tail -f /var/log/messages
/usr/local/nginx/sbin/nginx -s reload
service keepalived restart
Entering to MASTER STATE
,变成 Master 状态
Netlink reflector reports IP 192.168.1.50 added
,一般变为 Master 状态,都要重新加入虚拟 IP,一般叫法叫做:虚拟 IP 重新漂移到 Master 机子上Entering BACKUP STATE
,变成 Backup 状态
Netlink reflector reports IP 192.168.1.50 removed
,一般变为 Backup 状态,都要移出虚拟 IP,一般叫法叫做:虚拟 IP 重新漂移到 Master 机子上VRRP_Script(check_nginx) succeeded
,监控脚本执行成功此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。