Linux系统初始化规范_生产环境配置解析【教程】

8次阅读

生产环境 Linux 初始化需阻断所有默认风险行为:关闭 NetworkManager 防 IP 漂移,禁用 IPv6 避免静默丢包,配置 chronyd 替代 ntpd 实现平滑时间同步,通过 limits.conf 和 systemd unit 双路径设置 ulimit 防文件描述符耗尽。

Linux 系统初始化规范_生产环境配置解析【教程】

生产环境的 Linux 系统初始化不是“装完系统就跑服务”,而是必须阻断默认配置中所有可能引发安全、稳定性或可观测性风险的默认行为。跳过这一步,后续任何应用层加固都像在漏水的船上补漆。

关闭 NetworkManager 服务(CentOS/RHEL 7+ / Rocky 8+)

NetworkManager 在服务器场景下与 network 服务冲突,会劫持 /etc/sysconfig/network-scripts/ifcfg-* 配置,导致静态 IP 意外漂移、bonding/bridge 接口反复重载,甚至 SSH 断连。

  • 执行 systemctl stop NetworkManagersystemctl disable NetworkManager
  • 确认 systemctl is-active network 返回 active,且 nmcli device status 为空或仅显示 lo
  • 若已启用 NM,需先 nmcli connection delete 清理残留连接,再重启 network 服务

禁用 IPv6 协议 (除非业务明确依赖)

多数中间件(如 Nginx、MySQL、Java 应用)未显式绑定 :: 时,默认监听 0.0.0.0::,但内核 IPv6 路由 表异常或 RA(Router Advertisement)开启会导致连接被静默丢弃,排查困难。

  • 临时禁用:sysctl -w net.ipv6.conf.all.disable_ipv6=1net.ipv6.conf.default.disable_ipv6=1
  • 永久生效:在 /etc/sysctl.conf 中追加上述两行,并执行 sysctl -p
  • 验证:cat /proc/sys/net/ipv6/conf/all/disable_ipv6 输出应为 1ip -6 addr 不应列出除 ::1 外的地址

配置 chronyd 为唯一时间同步源(替代 ntpd)

ntpd 在容器化或高负载下易出现 step 跳变,触发应用超时;而 chronyd 支持平滑 slewing、离线补偿和更好的网络抖动适应性,是 RHEL/CentOS 7+ 默认且推荐方案。

  • 停用并屏蔽 ntpdsystemctl stop ntpd && systemctl disable ntpd
  • 编辑 /etc/chrony.conf,注释掉默认 pool,改用内网 NTP 服务器(如 server 192.168.10.1 iburst),添加 makestep 1.0 -1 允许首次启动时校正大偏差
  • 重启后检查:chronyc tracking 应显示 Reference ID 和合理偏移;chronyc sources -v 中状态列应含 *(当前选定源)

设置 ulimit 与 systemd 服务资源限制

全局 /etc/security/limits.conf 对 systemd 管理的服务无效——因为 systemd 会覆盖 PAM limits。不显式配置,Java 应用常因 Too many open files 崩溃,Nginx worker 进程无法打开足够连接。

  • 对用户级进程(如部署用户):在 /etc/security/limits.d/90-nproc.conf 中写入 * soft nofile 65536* hard nofile 65536
  • 对服务进程(关键!):在对应 unit 文件中(如 /etc/systemd/system/nginx.service.d/override.conf)添加:
    [Service] LimitNOFILE=65536 LimitNPROC=65536

    ,然后执行 systemctl daemon-reload && systemctl restart nginx

  • 验证:systemctl show nginx | grep LimitNOFILE 应输出 LimitNOFILE=65536;进入服务进程命名空间后 cat /proc//limits | grep "Max open files" 也应匹配

这些配置项看似零散,但任意一项遗漏都可能在流量高峰、安全扫描或跨机房迁移时暴露为单点故障。真正难的不是执行命令,而是理解每个开关背后影响的是哪个子系统、哪类日志、哪种超时路径。

星耀云
版权声明:本站原创文章,由 星耀云 2026-01-01发表,共计1787字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources