伺服器重置例項後的部署工作

蜗牛使劲冲發表於2024-05-27

參考: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

相關文章