init: ALiYunManager 基础设施项目 — nginx配置/docker-compose/部署文档
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ============================================
|
||||
# 服务器初始化脚本
|
||||
# 在全新的阿里云服务器上运行此脚本
|
||||
# ============================================
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo " 阿里云服务器初始化"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 更新系统
|
||||
if command -v apt-get &> /dev/null; then
|
||||
echo "检测到 Debian/Ubuntu 系统"
|
||||
apt-get update
|
||||
apt-get upgrade -y
|
||||
apt-get install -y curl wget git vim unzip ufw
|
||||
elif command -v yum &> /dev/null; then
|
||||
echo "检测到 CentOS/RHEL 系统"
|
||||
yum update -y
|
||||
yum install -y curl wget git vim unzip firewalld
|
||||
fi
|
||||
|
||||
# 安装 Docker
|
||||
echo ""
|
||||
echo "正在安装 Docker..."
|
||||
if ! command -v docker &> /dev/null; then
|
||||
curl -fsSL https://get.docker.com | sh
|
||||
systemctl start docker
|
||||
systemctl enable docker
|
||||
echo "Docker 安装完成"
|
||||
else
|
||||
echo "Docker 已安装,跳过"
|
||||
fi
|
||||
|
||||
# 安装 Docker Compose
|
||||
echo ""
|
||||
echo "正在安装 Docker Compose..."
|
||||
if ! command -v docker-compose &> /dev/null; then
|
||||
DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")')
|
||||
curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose
|
||||
echo "Docker Compose 安装完成"
|
||||
else
|
||||
echo "Docker Compose 已安装,跳过"
|
||||
fi
|
||||
|
||||
# 配置防火墙
|
||||
echo ""
|
||||
echo "正在配置防火墙..."
|
||||
if command -v ufw &> /dev/null; then
|
||||
ufw default deny incoming
|
||||
ufw default allow outgoing
|
||||
ufw allow 22/tcp
|
||||
ufw allow 80/tcp
|
||||
ufw allow 443/tcp
|
||||
ufw --force enable
|
||||
echo "UFW 防火墙配置完成"
|
||||
elif command -v firewall-cmd &> /dev/null; then
|
||||
systemctl start firewalld
|
||||
systemctl enable firewalld
|
||||
firewall-cmd --permanent --add-service=ssh
|
||||
firewall-cmd --permanent --add-service=http
|
||||
firewall-cmd --permanent --add-service=https
|
||||
firewall-cmd --reload
|
||||
echo "Firewalld 防火墙配置完成"
|
||||
fi
|
||||
|
||||
# 配置时区
|
||||
echo ""
|
||||
echo "设置时区为 Asia/Shanghai..."
|
||||
timedatectl set-timezone Asia/Shanghai || true
|
||||
|
||||
# Docker 镜像加速(阿里云)
|
||||
echo ""
|
||||
echo "配置 Docker 镜像加速..."
|
||||
mkdir -p /etc/docker
|
||||
cat > /etc/docker/daemon.json << 'EOF'
|
||||
{
|
||||
"registry-mirrors": [
|
||||
"https://mirror.ccs.tencentyun.com",
|
||||
"https://hub-mirror.c.163.com"
|
||||
],
|
||||
"log-driver": "json-file",
|
||||
"log-opts": {
|
||||
"max-size": "10m",
|
||||
"max-file": "3"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
systemctl restart docker
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo " 服务器初始化完成"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "Docker 版本:"
|
||||
docker --version
|
||||
echo "Docker Compose 版本:"
|
||||
docker-compose --version
|
||||
echo ""
|
||||
echo "下一步:上传项目文件并运行 ./deploy.sh"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user