1. 基本服务器设置脚本 (Bash)
该脚本安装更新、配置主机名并设置时区。
#!/bin/bash
# 更新并升级服务器
echo"正在更新服务器包..."
sudo apt-get update -y && sudo apt-get upgrade -y
# 设置主机名
read -p "输入服务器的主机名: " HOSTNAME
sudo hostnamectl set-hostname $HOSTNAME
echo"127.0.1.1 $HOSTNAME" | sudo tee -a /etc/hosts
# 设置时区
read -p "输入您的时区 (例如 'America/New_York'): " TIMEZONE
sudo timedatectl set-timezone $TIMEZONE
echo"服务器设置完成!"
- 更新并升级所有包,确保服务器安全且最新。
- 提示用户设置主机名并更新 /etc/hosts 文件。
- 配置服务器时区以匹配您的区域。
2. 用户管理脚本 (Bash)
该脚本创建用户、分配密码并授予 sudo 权限。
#!/bin/bash
# 创建新用户
read -p "输入要创建的用户名: " USERNAME
sudo adduser $USERNAME
# 将用户添加到 sudo 组
sudo usermod -aG sudo $USERNAME
echo "用户 $USERNAME 已创建并添加到 sudo 组。"
- 提示输入用户名并创建用户。
- 将用户添加到 sudo 组,授予管理员权限。
3. 防火墙配置脚本 (Bash)
该脚本使用 ufw(简单防火墙)设置基本防火墙。
#!/bin/bash
# 启用防火墙
echo "正在启用 UFW..."
sudo ufw enable
# 允许 SSH 和 HTTP 流量
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
echo "防火墙已配置!"
sudo ufw status
- 启用 UFW 以保护服务器。
- 允许 SSH、HTTP 和 HTTPS 流量,用于远程访问和 Web 托管。
- 显示防火墙状态以供验证。
4. 安装 Docker 和 Docker-Compose 脚本
#!/bin/bash
# 安装 Docker
echo"正在安装 Docker..."
sudo apt-get update -y
sudo apt-get install -y docker.io
# 启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 安装 Docker Compose
echo"正在安装 Docker-Compose..."
sudo curl -L "https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
echo"Docker 和 Docker-Compose 已安装!"
docker --version
docker-compose --version
- 安装 Docker 并确保服务在启动时运行并启用。
- 下载并配置 Docker Compose。
5. 交换文件创建脚本
#!/bin/bash
# 创建 2GB 交换文件
echo "正在创建 2GB 交换文件..."
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 使交换文件在重启后持久化
echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
echo "交换文件创建成功!"
- 分配 2GB 磁盘空间用于交换内存,提高高负载下的性能。
- 确保交换文件在重启后自动挂载。
6. 安装 Nginx Web 服务器脚本
#!/bin/bash
# 安装 Nginx
echo "正在安装 Nginx..."
sudo apt-get update -y
sudo apt-get install -y nginx
# 启动并启用服务
sudo systemctl start nginx
sudo systemctl enable nginx
echo "Nginx 已安装并运行!"
- 安装 Nginx,一个流行的 Web 服务器。
- 启动并启用服务以在启动时运行。
7. 使用 Certbot 自动安装 SSL 证书
#!/bin/bash
# 安装 Certbot
echo "正在安装 Certbot..."
sudo apt-get install -y certbot python3-certbot-nginx
# 获取并安装 SSL 证书
read -p "输入您的域名 (例如 example.com): " DOMAIN
sudo certbot --nginx -d $DOMAIN
echo "SSL 证书已安装到 $DOMAIN!"
- 安装 Certbot 并配置 Nginx 以支持 SSL。
- 提示输入域名并自动配置证书。
8. 配置 SSH 密钥认证
#!/bin/bash
# 设置 SSH 密钥认证
read -p "输入用户名: " USERNAME
sudo mkdir -p /home/$USERNAME/.ssh
sudo chmod 700 /home/$USERNAME/.ssh
echo"粘贴您的公钥:"
read SSH_KEY
echo$SSH_KEY | sudo tee /home/$USERNAME/.ssh/authorized_keys
sudo chmod 600 /home/$USERNAME/.ssh/authorized_keys
sudo chown -R $USERNAME:$USERNAME /home/$USERNAME/.ssh
echo"SSH 密钥认证已配置给 $USERNAME。"
- 创建 .ssh 目录并设置适当的权限。
- 提示用户输入公钥以启用安全的 SSH 登录。
9. 自动包安装脚本
#!/bin/bash
# 基本包列表
PACKAGES="vim git curl wget htop"
echo "正在安装基本包..."
sudo apt-get update -y
sudo apt-get install -y $PACKAGES
echo "已安装包: $PACKAGES"
安装预定义的基本包列表,用于开发和服务器管理。
10. 服务器健康检查脚本
#!/bin/bash
echo"正在检查服务器健康状态..."
# CPU 使用率
echo"CPU 使用率:"
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4 "%"}'
# 内存使用率
echo"内存使用率:"
free -h
# 磁盘使用率
echo"磁盘使用率:"
df -h
echo"健康检查完成!"
- 提供 CPU、内存和磁盘使用率的洞察。
- 帮助确保服务器运行在最佳状态。