103和104
安装包
apt install haproxy keepalived -y
103 配置文件
cat /etc/haproxy/haproxy.cfg
#内容如下
global
maxconn 100000
#编译装
#chroot /usr/local/haproxy
uid 99
gid 99
daemon
nbproc 1
pidfile /run/haproxy.pid
#socket文件
#stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
log 127.0.0.1 local3 info
defaults
option http-keep-alive
option forwardfor
maxconn 100000
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms
listen stats
mode http
bind 0.0.0.0:9999
stats enable
log global
stats uri /haproxy-status
#登录账号:密码
stats auth haadmin:q1w2e3r4t5
启动
systemctl restart haproxy
systemctl enable haproxy
查看端口是否启动
ss -ntlp| grep 9999
#搜索
find / -name keepalived*.conf*
#拷贝
cp /usr/share/doc/keepalived/samples/keepalived.conf.vrrp /etc/keepalived/keepalived.conf
#配置
cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
garp_master_delay 10
smtp_alert
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.37.240 dev eth0 label eth0:0
}
}
#重启服务
systemctl restart keepalived
systemctl enable keepalived
网卡信息
ifconfig eth0:0
eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.37.240 netmask 255.255.255.255 broadcast 0.0.0.0
ether 00:0c:29:f1:73:8f txqueuelen 1000 (Ethernet)
拷贝
scp /etc/keepalived/keepalived.conf 192.168.37.104:/etc/keepalived/
104
#修改下面两项
vim /etc/keepalived/keepalived.conf
state BACKUP
priority 80
#重启服务
systemctl restart keepalived
systemctl enable keepalived
103
#内容如下
cat /etc/haproxy/haproxy.cfg
global
maxconn 100000
#编译装
#chroot /usr/local/haproxy
uid 99
gid 99
daemon
nbproc 1
pidfile /run/haproxy.pid
#socket文件
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
log 127.0.0.1 local3 info
defaults
option http-keep-alive
option forwardfor
maxconn 100000
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms
listen stats
mode http
bind 0.0.0.0:9999
stats enable
log global
stats uri /haproxy-status
#登录账号:密码
stats auth haadmin:q1w2e3r4t5
#监听端口
listen web_port
bind 0.0.0.0:80
mode http
log global
server 192.168.37.105 192.168.37.105:8080 check inter 3000 fall 2 rise 5
server 192.168.37.106 192.168.37.106:8080 check inter 3000 fall 2 rise 5
拷贝、创建目录、重启服务
scp /etc/haproxy/haproxy.cfg 192.168.37.104:/etc/haproxy/
mkdir -p /var/lib/haproxy
systemctl restart haproxy
103和104
开启路由转发、监听地址必须打开
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.ip_nonlocal_bind = 1
生效
sysctl -p
104
重启服务
systemctl restart haproxy
systemctl enable haproxy
服务状态页面
105和106
配置JAVA环境
上传JAVA包
cd /usr/local/src
tar xvf jdk-8u351-linux-x64.tar.gz
软链接
ln -sv /usr/local/src/jdk1.8.0_351 /usr/local/jdk
JAVA环境
#结尾添加
vim /etc/profile
...
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
使JAVA环境变量生效
source /etc/profile
查看JAVA版本
java -version
创建目录,在里面部署TOMCAT
mkdir /apps
cd /apps/
tar xvf apache-tomcat-8.5.42.tar.gz
软链接
ln -sv /apps/apache-tomcat-8.5.42 /apps/tomcat
创建压缩包目录
mkdir /data/tomcat/tomcat_appdir -p
创建解压后目录
mkdir /data/tomcat/tomcat_webdir
放置tomcat应用程序目录
mkdir /data/tomcat/tomcat_webapps
修改此项的目录指向信息
vim /apps/tomcat/conf/server.xml
<Host name="localhost" appBase="/data/tomcat/tomcat_webapps"
unpackWARs="true" autoDeploy="true">
cd /data/tomcat/
mkdir tomcat_webdir/app
105
#创建页面
vim tomcat_webdir/app/index.html
web1 app 192.168.37.105 <--
106
#创建页面
vim tomcat_webdir/app/index.html
web1 app 192.168.37.106 <--
105和106
启动tomcat服务
/apps/tomcat/bin/catalina.sh start
ln -sv /data/tomcat/tomcat_webdir/app /data/tomcat/tomcat_webapps/
cd tomcat_webdir/
#创建时间戳目录
mkdir app_$(date +"%Y%m%d_%H%M%S")
105
cp app/index.html app_20230215_155640/
#版本升级
vim app_20230215_155640/index.html
web1 app 192.168.37.105 v2 <--
停止tomcat
/apps/tomcat/bin/catalina.sh stop
删除软链接
rm -rf /data/tomcat/tomcat_webapps/app
软链接、连接到新版本
ln -sv /data/tomcat/tomcat_webdir/app_20230215_155640 /data/tomcat/tomcat_webapps/app
启动tomcat
/apps/tomcat/bin/catalina.sh start
再次访问、信息变了
105和106
创建启动账号
groupadd -g 2000 tomcat
useradd -m -u 2000 -s /bin/bash -g tomcat tomcat
id tomcat
uid=2000(tomcat) gid=2000(tomcat) groups=2000(tomcat)
给tomcat设置密码、此处与后面免密钥认证一致
passwd tomcat
Enter new UNIX password: <--密码:1234.com
Retype new UNIX password: <--密码:1234.com
passwd: password updated successfully
停止tomcat
/apps/tomcat/bin/catalina.sh stop
递归修改属主属组权限
chown tomcat.tomcat /apps/* /data/tomcat/* -R
添加权限
chmod a+x tomcat
cp tomcat /etc/init.d/
切换到tomcat用户
su - tomcat
启动服务
/etc/init.d/tomcat start
103和104
systemctl restart haproxy
102
免密钥认证
#拷贝密钥到'tomcat'用户、密码:1234.com
ssh-copy-id tomcat@192.168.37.105
ssh-copy-id tomcat@192.168.37.106
此时可直接远程命令到105、106
ssh tomcat@192.168.37.106 "/etc/init.d/tomcat restart"
手动代码升级
102
cd /opt/web1/
#修改页面信息
vim index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Linux01 项目1</title>
</head>
<body>
<h1>Linux01 web1 v3</h1> <--
</body>
</html>
#打包
tar -czvf app.tar.gz index.html
#拷到后端服务器
scp app.tar.gz 192.168.37.105:/data/tomcat/tomcat_appdir
105
#查看目录相关属性
ll /data/tomcat/tomcat_appdir
#递归修改属主属组
chown tomcat.tomcat /data/tomcat/ -R
#切换用户
su - tomcat
cd /data/tomcat/tomcat_appdir/
mkdir /data/tomcat/tomcat_webdir/app_$(date +"%Y%m%d_%H%M%S")
#解压缩到指定文件
tar xvf app.tar.gz -C /data/tomcat/tomcat_webdir/app_时间戳
#停服务
/etc/init.d/tomcat stop
#删除旧的软链接
rm -rf /data/tomcat/tomcat_webapps/app
#连接新的软链接
ln -sv /data/tomcat/tomcat_webdir/app_时间戳 /data/tomcat/tomcat_webapps/app
#启动服务
/etc/init.d/tomcat start
浏览器访问页面发生变化、192.168.37.240/app