服务器重置实例后的部署工作

参考:https://www.cnblogs.com/warrenwt/p/18215341(docker安装redis)

因为服务器前段时间一直由木马,而且还被挖过矿,想直接重装下系统吧,顺便捋一下整个服务器需要各项配置,以下是我的整理清单

  1. 使用nginx做反向代理,nginx是直接yum安装的
  2. 里面docker跑了我的一个项目的两个环境,一个生产一个测试
  3. 还用docker跑redis就给我这两项目用
  4. java项目里面有step.sh

init.sh创建了我的几个项目目录,安装了docker、unzip、nginx

#!/bin/bash
yum install -y
# 定义多级目录路径数组
directories=(
	"/home/logs"
	"/www/xxx-platform" 
	"/www/xxx-platform-forntend"
	"/wwww/test/xxx-platform"
	"/www/test/xxx-platform-forntend"
)

# 循环创建每个目录
for dir in "${directories[@]}"; do
    # 使用-p选项创建目录,如果目录已经存在则不报错
    mkdir -p "$dir"
    
    # 检查目录是否创建成功
    if [ -d "$dir" ]; then
        echo "目录 $dir 创建成功。"
    else
        echo "目录 $dir 创建失败。"
    fi
done

# 安装Docker
echo "开始安装Docker..."
sudo yum update -y
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 启动Docker服务
sudo systemctl start docker

# 验证Docker是否安装成功
if [ -x "$(command -v docker)" ]; then
    echo "Docker 安装成功。"
else
    echo "Docker 安装失败。"
fi

yum install -y unzip

sudo yum install -y epel-release
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

然后再去我的java两个项目里面上传我的step.sh,以下以prod的step为样例

#!/bin/sh
docker stop java17-container 
docker rm java17-container
docker rmi java17-image
docker build -t java17-image .
docker run -dit -p 12001:12001 -p 9998:9998  -v /www/xxx-platform/log:/home/logs/xxx-platform --name java17-container --restart=always java17-image

最后nginx啥都不用动直接去/etc/nginx/conf.d/里面上传我之前留下来的几个conf,两个前端+两个后端,下面列一个后端为样例

server {
    listen 80;
    server_name  platformapi.xxx.tech;
    index index.html;
    client_max_body_size 1024M;

    error_log /home/nginx/logs/xxx-platform-error.log;
    access_log /home/nginx/logs/xxx-platform.log;
    
    location / {
    	proxy_pass http://127.0.0.1:12001/;                       
    }
}

然后重启nginx命令systemctl restart nginx

ps:因为项目打包已经防盗jenkins里面去了,只需要去那边修改下连接服务器的凭证密码,后续就直接将打好的包推过来再触发了我的step就行了,so,docker ps没问题ok