Gitlab web环境准备及手动实现代码升级(小节4)

189 阅读3分钟

图片.png

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

服务状态页面

图片.png

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

上传TOMCAT软件包

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/

图片.png

图片.png

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

再次访问、信息变了

图片.png

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

图片.png

图片.png

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

图片.png