新服务器上线:标准化初始化流程

每次登录一台崭新的云服务器或物理服务器,面对一个原始的操作系统,你是否曾感到一丝茫然?从何做起?先改密码?还是配网络?

服务器初始化是运维工作的基石。一个标准化的初始化流程,能确保环境一致性、提升安全性,并为后续所有应用部署铺平道路。

无论你面对的是 CentOS、Rocky Linux 还是 Ubuntu,以下这份清单都能为你提供一个坚实可靠的起点。

核心操作清单

第一阶段:安全加固与基础配置

1. 身份鉴别加固

  • 修改 root 密码: 首次登录后,立即更改强密码。

    复制代码
    复制代码
    复制代码
    passwd
  • 创建运维账户: 避免直接使用 root,创建具有 sudo 权限的专用账户。

    复制代码
    复制代码
    复制代码
    # 以创建用户 sysadmin 为例
    useradd sysadmin
    passwd sysadmin
    usermod -aG wheel sysadmin  # CentOS/Rocky
    # 或 usermod -aG sudo sysadmin  # Ubuntu
  • 配置 SSH 密钥登录,禁用密码登录: 从根本上提升访问安全性。

    1. 本地生成密钥对:ssh-keygen -t rsa -b 4096

    2. 上传公钥到服务器:ssh-copy-id sysadmin@your_server_ip

    3. 编辑 /etc/ssh/sshd_config

      复制代码
      复制代码
      复制代码
      PubkeyAuthentication yes
      PasswordAuthentication no
      PermitRootLogin no
    4. 重启 SSH 服务:systemctl restart sshd

      • 务必在禁用密码前,使用新会话测试密钥登录是否成功。

2. 系统更新与基础工具安装

  • 更新系统: 获取最新的安全补丁和软件包。

    复制代码
    复制代码
    复制代码
    # CentOS/Rocky/Alma
    sudo yum update -y
    # 或 sudo dnf update -y
    # Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y
  • 安装"瑞士军刀": 安装必备的运维工具包。

    复制代码
    复制代码
    复制代码
    # CentOS/Rocky
    sudo yum install -y vim wget curl net-tools lsof bash-completion
    # Ubuntu
    sudo apt install -y vim wget curl net-tools lsof bash-completion

3. 配置时区、语言与主机名

  • 设置时区: 确保日志时间准确。

    复制代码
    复制代码
    复制代码
    sudo timedatectl set-timezone Asia/Shanghai
    # 检查
    timedatectl status
  • 配置 Hostname: 给服务器一个易于识别的名字。

    复制代码
    复制代码
    复制代码
    sudo hostnamectl set-hostname your-new-hostname
    # 同时更新 /etc/hosts,确保 127.0.0.1 指向新主机名

第二阶段:系统优化与内核调优

1. 关闭 SELinux / 配置防火墙

  • SELinux: 对于不熟悉的环境,可先设置为宽容模式以便调试,生产环境建议学习后配置。

    复制代码
    复制代码
    复制代码
    sudo setenforce 0
    sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
  • 防火墙: 开放必要端口,遵循最小权限原则。

    复制代码
    复制代码
    复制代码
    # firewalld (CentOS/Rocky)
    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    sudo firewall-cmd --permanent --add-port=22/tcp
    sudo firewall-cmd --reload
    # 或 ufw (Ubuntu)
    sudo ufw allow 22/tcp
    sudo ufw enable

2. 内核参数优化

  • 编辑 /etc/sysctl.conf,根据应用需求调整,例如对于高并发网络服务:

    复制代码
    复制代码
    复制代码
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_fin_timeout = 30
    fs.file-max = 65535
  • 使配置生效:sudo sysctl -p

3. 资源限制优化

  • 编辑 /etc/security/limits.conf,调整进程可打开文件描述符数量等。

    复制代码
    复制代码
    复制代码
    * soft nofile 65536
    * hard nofile 131072

第三阶段:环境准备与监控部署

1. 部署统一监控 Agent

插入广告:各行各业学习千款源码就上:svipm.com

  • 这是实现可观测性的第一步。根据你的监控栈(如 Zabbix Agent, Prometheus Node Exporter, Datadog Agent 等),在此步骤完成安装和基础配置。

2. 部署统一的初始化脚本或配置管理客户端

  • 如果使用 Ansible、SaltStack 或 Puppet,此时应安装其 Agent,并使其能连接到控制端,以便纳入自动化管理体系。

3. (可选)安装应用运行环境

  • 根据服务器角色,安装 Docker、Java、Python、Nginx 等运行时环境。建议使用版本管理工具(如 nvm, pyenv)或容器化部署,以保证环境纯净。

结语

将以上步骤脚本化,便是你团队的"服务器初始化秘籍"。它可以是一个 Shell 脚本,也可以是一份 Ansible Playbook。

标准化带来的收益是巨大的: 故障排查更快(因为环境一致),新服务上线更稳(没有遗漏步骤),安全基线更高(强制实施了关键加固)。

下次当你面对一台全新的服务器时,不必再从头思考。执行这份清单,就能获得一台安全、健壮、就绪的"战斗机器"。

相关推荐
ulias2121 天前
Linux系统中的权限问题
linux·运维·服务器
青花瓷1 天前
Ubuntu下OpenClaw的安装(豆包火山API版)
运维·服务器·ubuntu
问简1 天前
docker 镜像相关
运维·docker·容器
Dream of maid1 天前
Linux(下)
linux·运维·服务器
齐鲁大虾1 天前
统信系统UOS常用命令集
linux·运维·服务器
Benszen1 天前
Docker容器化技术实战指南
运维·docker·容器
ZzzZZzzzZZZzzzz…1 天前
Nginx 平滑升级:从 1.26.3 到 1.28.0,用户无感知
linux·运维·nginx·平滑升级·nginx1.26.3·nginx1.28.0
一叶知秋yyds1 天前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
专吃海绵宝宝菠萝屋的派大星1 天前
使用Dify对接自己开发的mcp
java·服务器·前端
斯普信云原生组1 天前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器