Linux系统初始化规范_生产环境配置解析【教程】
发布时间 - 2025-12-31 00:00:00 点击率:次生产环境Linux初始化需阻断所有默认风险行为:关闭NetworkManager防IP漂移,禁用IPv6避免静默丢包,配置chronyd替代ntpd实现平滑时间同步,通过limits.conf和systemd unit双路径设置ulimit防文件描述符耗尽。
生产环境的 Linux 系统初始化不是“装完系统就跑服务”,而是必须阻断默认配置中所有可能引发安全、稳定性或可观测性风险的默认行为。跳过这一步,后续任何应用层加固都像在漏水的船上补漆。
关闭 NetworkManager 服务(CentOS/RHEL 7+ / Rocky 8+)
NetworkManager 在服务器场景下与 network 服务冲突,会劫持 /etc/sysconfig/network-scripts/ifcfg-* 配置,导致静态 IP 意外漂移、bonding/bridge 接口反复重载,甚至 SSH 断连。
- 执行
systemctl stop NetworkManager并systemctl disable NetworkManager - 确认
systemctl is-active network返回active,且nmcli device为空或仅显示
statuslo - 若已启用 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=1和net.ipv6.conf.default.disable_ipv6=1 - 永久生效:在
/etc/sysctl.conf中追加上述两行,并执行sysctl -p - 验证:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6输出应为1;ip -6 addr不应列出除::1外的地址
配置 chronyd 为唯一时间同步源(替代 ntpd)
ntpd 在容器化或高负载下易出现 step 跳变,触发应用超时;而 chronyd 支持平滑 slewing、离线补偿和更好的网络抖动适应性,是 RHEL/CentOS 7+ 默认且推荐方案。
- 停用并屏蔽
ntpd:systemctl 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"
这些配置项看似零散,但任意一项遗漏都可能在流量高峰、安全扫描或跨机房迁移时暴露为单点故障。真正难的不是执行命令,而是理解每个开关背后影响的是哪个子系统、哪类日志、哪种超时路径。
# mysql
# linux
# java
# centos
# nginx
# ipv6
# 栈
# 路由
# win
# linux系统
# 环境配置
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在建站之星网店版论坛获取技术支持?
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
java获取注册ip实例
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
如何在云服务器上快速搭建个人网站?
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
如何选择PHP开源工具快速搭建网站?
Bootstrap整体框架之JavaScript插件架构
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
如何用搬瓦工VPS快速搭建个人网站?
JS碰撞运动实现方法详解
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
微信h5制作网站有哪些,免费微信H5页面制作工具?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
网站建设整体流程解析,建站其实很容易!
如何在云虚拟主机上快速搭建个人网站?
如何在万网主机上快速搭建网站?
使用Dockerfile构建java web环境
敲碗10年!Mac系列传将迎来「触控与联网」双革新
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
如何破解联通资金短缺导致的基站建设难题?
如何安全更换建站之星模板并保留数据?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
打造顶配客厅影院,这份100寸电视推荐名单请查收
利用JavaScript实现拖拽改变元素大小
Laravel如何使用查询构建器?(Query Builder高级用法)
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
太平洋网站制作公司,网络用语太平洋是什么意思?
Laravel中的Facade(门面)到底是什么原理
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
Laravel如何实现一对一模型关联?(Eloquent示例)
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
三星网站视频制作教程下载,三星w23网页如何全屏?
如何续费美橙建站之星域名及服务?
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
Android自定义控件实现温度旋转按钮效果
如何在云主机快速搭建网站站点?


status