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

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

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

无论你面对的是 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。

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

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

相关推荐
Sunny_20228377 小时前
打开从AutoCAD的不同版本粘贴到Ms Word的OLE对象
运维·pccad插件、cad·pccad个人免费版·免费cad插件
A15362558 小时前
六轴工业机械臂厂家怎么选?评估维度与选型参考
大数据·服务器·人工智能
木雷坞8 小时前
LiteLLM Docker 部署:config.yaml、Master Key 和 Postgres 配置
运维·docker·容器·litellm
AC赳赳老秦8 小时前
OpenClaw + 阿里云 OSS 自动化:批量上传下载文件、自动备份本地数据到云端
运维·数据库·阿里云·自动化·云计算·deepseek·openclaw
数智化管理手记8 小时前
三步轻量化落地法!精益赋能数字化,让工厂转型告别形式化
运维·数据库·人工智能·精益工程
七夜zippoe8 小时前
DolphinDB MQTT协议接入:工业设备数据采集
运维·mqtt·dolphindb·工业设备·协议接入
Championship.23.248 小时前
Linux 3.0 串口机制深度解析:传统8250驱动与基础RS-232/485支持
linux·运维·服务器
r-t-H8 小时前
Docker进阶与容器编排实践-第三章
运维·docker·容器
啦啦啦~~~3308 小时前
【装机工具】电脑重装系统!office安装管理软件!一键自动化下载、安装、部署Office的办公增强工具
运维·c语言·windows·自动化·电脑
Legend NO248 小时前
从数据中台到 Data Fabric:数据价值落地,终究要回归本质(二)
大数据·运维·fabric