服务器重置实例后的部署工作
参考: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
yum install -y git
# 项目处理
git clone [项目地址]
cd [项目文件夹]
chmod +x step.sh
go env -w GOPROXY=https://goproxy.cn // 跨过长城
拉取我的镜像需要先登录,执行以下命令
docker login --username=1078210460@qq.com registry.cn-shanghai.aliyuncs.com
然后再去我的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