备节点配置文件:
! Configuration File for keepalived
global_defs {
notification_email {
xxx@xxx.cn
}
notification_email_from xxx@xxx.cn
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
#该脚本检测ngnix的运行状态,并在nginx进程不存在时尝
#试重新启动ngnix,如果启动失败则停止keepalived,准备让其它机器接管。
script "/opt/ha/check_nginx.sh"
#每1s检测一次
interval 1
# 检测失败(脚本返回非0则优先级2)
weight 2
}
vrrp_script chk_tomcat {
#该脚本检测ngnix的运行状态,并在nginx进程不存在时尝
#试重新启动ngnix,如果启动失败则停止keepalived,准备让其它机器接管。
script "/opt/ha/check_tomcat.sh"
#每1s检测一次
interval 1
# 检测失败(脚本返回非0则优先级2)
weight 2
}
#vrrp_script check_gateway {
# script "/opt/ha/check_gateway.sh "
# interval 5
# fall 4
# rise 4
# weight 3
#}
vrrp_instance VI_1 {
#指定keepalived的角色,MASTER表示此主机是主服务器,BACKUP表示此主机是备用服务器
state BACKUP
# 指定HA监测的网络接口
interface ens192
# 虚拟路由标识,要求主从节点一致
virtual_router_id 55
# 优先级,在同一vrrp_instance下要求主节点的优先级高于从节点
priority 90
# 设定主从节点之间同步检查的时间间隔,单位是秒
advert_int 1
authentication {
# 设置验证类型,主要有PASS和AH两种
auth_type PASS
# 设置验证密码,在同一个vrrp_instance下,MASTER与BACKUP必须使用相同的密码才能正常通信
auth_pass 1111
}
virtual_ipaddress {
# 设置虚拟IP地址,可以设置多个虚拟IP地址,每行一个
10.200.36.168
}
track_script {
# 引用VRRP脚本,即在 vrrp_script 部分指定的名字。
#定期运行它们来改变优先级,并最终引发主备切换。
chk_nginx
chk_tomcat
}
}
#virtual_server 10.200.36.168 3306 {
# delay_loop 2 ##每隔2秒检查真实服务器状态
# lb_algo wrr ##LVS算法,如果仅做高可用可不设
# lb_kind DR ##LVS模式,如果仅做高可用可不设
# persistence_timeout 60
# protocol TCP
#
# real_server 10.200.36.167 3306{
# weight 3
# notify_down /opt/ha/mysql.sh ##如果mysql服务宕掉,执行的脚本
# echo '3' > /etc/keepalived/t.log
# TCP_CHECK {
# connect_timeout 10
# nb_get_retry 3
# delay_before_retry 3
# connect_port 3306
# }
# }
#}
3,创建检测脚本(双节点都需要创建,可使用scp传输)
#mkdir -p /opt/ha/
#touch /opt/ha/check_nginx.sh
#vi /opt/ha/check_nginx.sh
#!/bin/sh
echo "1" >> /var/tmp/keepalived.log
Count1=`netstat -antp |grep -v grep |grep nginx |wc -l`
if [ $Count1 -eq 0 ]; then
#/usr/local/nginx/sbin/nginx
#sleep 2
echo "2" >> /var/tmp/keepalived.log
Count2=`netstat -antp |grep -v grep |grep nginx |wc -l`
if [ $Count2 -eq 0 ]; then
echo "nginx pid not found" >> /etc/keepalived/keepalived.log
killall keepalived
else
echo "jinbulai" >> /var/tmp/keepalived.log
exit 0
fi
else
echo "4" >> /var/tmp/keepalived.log
exit 0
fi
赋予脚本可执行权限:
#chmod 755 /opt/ha/check_nginx.sh
六,部署Tomcat(双节点都需要操作)
1,创建用户tomcat
#useradd -d /home/tomcat -m tomcat
#passwd tomcat
根据提示设置tomcat用户密码即可,我这里设置成tomcat@123
2,部署Tomcat
#cd /opt/soft/
将redis-3.2.9.tar.gz安装包cp到program/redis/目录下 ----> 解压 tar -xzf redis-3.2.9.tar.gz --->进入解压后的目录cd redis-3.2.9 ----> make(安装命令)。2、将firefox-1.5.0.6.tar.gz解压到/opt,命令:tar -zxf firefox-1.5.0.6.tar.gz -c /opt或者鼠标解压也可。redhat linux下安装fluentd下载fluentd安装包并解压tar zxvf fluentd-0.10.6.tar.gzcd fluentd-0.10.6 ./configurema。
#cd /opt/
#chmod -R 755 tomcat:tomcat apache-tomcat-9.0.13/*--赋予tomcat用户目录下文件/文件夹可执行权限
#chown -R tomcat:tomcat apache-tomcat-9.0.13/*--将tomcat用户目录下文件/文件夹的用户和组改为tomcat
3,修改tomcat的内存分配

#cd /opt/apache-tomcat-9.0.13/bin
#vi .catalina.sh--添加以下内容
JAVA_OPTS="-Xms2048m -Xmx4096m -XX:PermSize=1024m -XX:MaxNewSize= 2048m -XX:MaxPermSize=2048m"
4、修改tomcat的配置信息
#cd /opt/apache-tomcat-9.0.13/conf
#vi server.xml
添加jvmRoute信息,且主从节点不一致(例:主——tomcat1、从——tomcat2)
Mast:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
Backup:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
5,添加测试文件(双节点添加)
#cd /opt/apache-tomcat-9.0.13/webapps/
#mkdir test
#vi index.jsp
<%--
Created by IntelliJ IDEA.
User: ccdk
Date: 2018/4/27
Time: 下午7:01
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>测试页面</title>
</head>
<body>
SessionID:<%=session.getId()%> <BR>
SessionIP:<%=request.getServerName()%> <BR>
SessionPort:<%=request.getServerPort()%>
<%out.println("This is Tomcat Server 1");%>
</body>
</html>
添加完以后要修改文件所属用户、组
cd /opt/apache-tomcat-9.0.13/webapps/
chown -R tomcat:tomcat test/index.jsp
七,安装Redis(双节点都需要安装配置)
1,安装Redis
#cd /opt/soft/
#mkdir -p /opt/redis
#tar -zxvf redis-5.0.3.tar.gz -C /opt/
#cd /opt/redis-5.0.3/
#make PREFIX=/opt/redis
#install
6)拷贝redis-3.0.0中的redis.conf(redis-3.0.0中)到安装目录redis中。比如缺少了文件...据我们的经验很多时候大家的远程启动服务出问题,都是因为安装工具在复制文件过程中因为某些原因造成了部分文件被漏掉,有一个比较笨的方法,就是当你的服务因类似原因不能启动时,你找一个装了winnt系统的机器(硬盘),把它的rpl 目录中的全部文件整个拷贝到你的rpl目录中,可以解决相关的所有问题,但是有一点请注意,别拷“湖南帮”系统中的rpl。有这样的一个需求,需要将一部分符合条件的文件从一个目录拷贝到另一个目录中win7下ngnix mysql php的安装,我通过find命令从源目录查找到符合条件的文件然后使用cp命令拷贝到目标目录:。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-111706-2.html
怎么感觉luna高了呢@ZHAYITING
一样的东西实体店卖100