我们提供安全,免费的手游软件下载!

安卓手机游戏下载_安卓手机软件下载_安卓手机应用免费下载-先锋下载

当前位置: 主页 > 软件教程 > 软件教程

服务器重装系统及相关配置清单

来源:网络 更新时间:2024-05-27 15:31:08

因为服务器前段时间一直受到木马攻击,甚至被用于挖矿,我决定重装系统。在此过程中,我整理了服务器需要的各项配置清单。

  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

然后我将我的step.sh脚本上传到我的两个java项目中,以下是prod环境的step.sh脚本示例:

#!/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做任何修改,直接将之前留下的几个conf文件上传到/etc/nginx/conf.d/目录中,其中包括两个前端和两个后端的配置。以下是一个后端配置的示例:

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

附注:因为项目已经打包并上传至jenkins,我只需要在那里修改连接服务器的凭证密码,然后直接推送打好的包并触发我的step脚本即可。所以, docker ps 没有问题。