參考:https://www.cnblogs.com/warrenwt/p/18215341(docker安裝redis)
因為伺服器前段時間一直由木馬,而且還被挖過礦,想直接重灌下系統吧,順便捋一下整個伺服器需要各項配置,以下是我的整理清單
- 使用nginx做反向代理,nginx是直接yum安裝的
- 裡面docker跑了我的一個專案的兩個環境,一個生產一個測試
- 還用docker跑redis就給我這兩專案用
- 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