十大服务器配置 Bash 脚本

B站影视 2025-02-10 09:02 4

摘要:创建新用户read -p "输入要创建的用户名: " USERNAMEsudo adduser $USERNAME# 将用户添加到 sudo 组sudo usermod -aG sudo $USERNAMEecho "用户 $USERNAME 已创建并添加到

该脚本安装更新、配置主机名并设置时区。

#!/bin/bash# 更新并升级服务器echo"正在更新服务器包..."sudo apt-get update -y && sudo apt-get upgrade -y# 设置主机名read -p "输入服务器的主机名: " HOSTNAMEsudo hostnamectl set-hostname $HOSTNAMEecho"127.0.1.1 $HOSTNAME" | sudo tee -a /etc/hosts# 设置时区read -p "输入您的时区 (例如 'America/New_York'): " TIMEZONEsudo timedatectl set-timezone $TIMEZONEecho"服务器设置完成!"

该脚本创建用户、分配密码并授予 sudo 权限。

#!/bin/bash# 创建新用户read -p "输入要创建的用户名: " USERNAMEsudo adduser $USERNAME# 将用户添加到 sudo 组sudo usermod -aG sudo $USERNAMEecho "用户 $USERNAME 已创建并添加到 sudo 组。"

该脚本使用 ufw(简单防火墙)设置基本防火墙。

#!/bin/bash# 启用防火墙echo "正在启用 UFW..."sudo ufw enable# 允许 SSH 和 HTTP 流量sudo ufw allow OpenSSHsudo ufw allow 80/tcpsudo ufw allow 443/tcpecho "防火墙已配置!"sudo ufw status启用 UFW 以保护服务器。允许 SSH、HTTP 和 HTTPS 流量,用于远程访问和 Web 托管。显示防火墙状态以供验证。#!/bin/bash# 安装 Dockerecho"正在安装 Docker..."sudo apt-get update -ysudo apt-get install -y docker.io# 启用 Docker 服务sudo systemctl start dockersudo systemctl enable docker# 安装 Docker Composeecho"正在安装 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-composesudo chmod +x /usr/local/bin/docker-composeecho"Docker 和 Docker-Compose 已安装!"docker --versiondocker-compose --version安装 Docker 并确保服务在启动时运行并启用。下载并配置 Docker Compose。#!/bin/bash# 创建 2GB 交换文件echo "正在创建 2GB 交换文件..."sudo fallocate -l 2G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfile# 使交换文件在重启后持久化echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstabecho "交换文件创建成功!"分配 2GB 磁盘空间用于交换内存,提高高负载下的性能。确保交换文件在重启后自动挂载。#!/bin/bash# 安装 Nginxecho "正在安装 Nginx..."sudo apt-get update -ysudo apt-get install -y nginx# 启动并启用服务sudo systemctl start nginxsudo systemctl enable nginxecho "Nginx 已安装并运行!"安装 Nginx,一个流行的 Web 服务器。启动并启用服务以在启动时运行。#!/bin/bash# 安装 Certbotecho "正在安装 Certbot..."sudo apt-get install -y certbot python3-certbot-nginx# 获取并安装 SSL 证书read -p "输入您的域名 (例如 example.com): " DOMAINsudo certbot --nginx -d $DOMAINecho "SSL 证书已安装到 $DOMAIN!"安装 Certbot 并配置 Nginx 以支持 SSL。提示输入域名并自动配置证书。#!/bin/bash# 设置 SSH 密钥认证read -p "输入用户名: " USERNAMEsudo mkdir -p /home/$USERNAME/.sshsudo chmod 700 /home/$USERNAME/.sshecho"粘贴您的公钥:"read SSH_KEYecho$SSH_KEY | sudo tee /home/$USERNAME/.ssh/authorized_keyssudo chmod 600 /home/$USERNAME/.ssh/authorized_keyssudo chown -R $USERNAME:$USERNAME /home/$USERNAME/.sshecho"SSH 密钥认证已配置给 $USERNAME。"创建 .ssh 目录并设置适当的权限。提示用户输入公钥以启用安全的 SSH 登录。#!/bin/bash# 基本包列表PACKAGES="vim git curl wget htop"echo "正在安装基本包..."sudo apt-get update -ysudo apt-get install -y $PACKAGESecho "已安装包: $PACKAGES"

安装预定义的基本包列表,用于开发和服务器管理。

#!/bin/bashecho"正在检查服务器健康状态..."# CPU 使用率echo"CPU 使用率:"top -bn1 | grep "CPU(s)" | awk '{print $2 + $4 "%"}'# 内存使用率echo"内存使用率:"free -h# 磁盘使用率echo"磁盘使用率:"df -hecho"健康检查完成!"提供 CPU、内存和磁盘使用率的洞察。帮助确保服务器运行在最佳状态。

来源:散文随风想

相关推荐