Linux 凭借稳定、开源、高性能的特性,成为互联网业务、数据库、中间件、容器集群最主流的服务器操作系统。不管是个人云主机、中小企业业务服务器,还是大型分布式集群,Linux 运维都是保障业务持续可用的核心环节。很多新手运维人员常常陷入只会敲命令、不懂标准化流程的误区,遇到故障手忙脚乱。本文结合一线运维经验,系统性梳理 Linux 服务器运维核心知识,覆盖基础管理、日常巡检、监控体系、安全加固、备份策略、故障排查、性能优化,兼顾理论与实战命令,适合运维入门学习与日常工作查阅。
运维工作的第一步,是理解不同 Linux 发行版的定位差异,根据业务场景选型。主流发行版分为两大派系:RHEL 系(RedHat、CentOS Stream、Rocky Linux、AlmaLinux)与 Debian 系(Ubuntu、Debian)。RHEL 系稳定性强,长期支持周期长,企业传统业务、数据库服务器、生产物理机使用较多,包管理器为 yum/dnf,默认防火墙 firewalld,安全模块 SELinux;Debian 系软件版本更新更快,文档资源丰富,云服务器、开发环境、容器主机、WEB 服务比较常用,包管理器 apt,防火墙多用 ufw,安全模块 AppArmor。
运维人员不需要精通所有发行版,但要熟悉一套体系,理解底层逻辑。Linux 一切皆文件的设计思想是运维的根基:硬件配置、进程信息、网络参数、日志内容都以文件形式存在于系统中,/proc、/sys 是内核实时输出的虚拟文件系统,排查性能问题时经常读取这两个目录下的文件。同时现代 Linux 系统普遍采用 systemd 作为系统与服务管理器,替代老旧的 SysVinit,服务启停、自启管理、日志查看都围绕 systemctl 与 journalctl 命令完成,这也是现代运维必须掌握的基础能力。
用户权限体系是 Linux 安全的第一道关卡,严格区分 root 超级管理员与普通用户。生产环境严禁日常直接使用 root 登录操作,遵循最小权限原则,普通用户通过 sudo 按需分配权限。文件权限分为读、写、执行,归属用户、用户组、其他用户三类角色,配合 SUID、SGID、Sticky 特殊权限控制文件行为。很多安全事故根源都是权限配置随意,目录 777、密钥文件权限过大,被攻击者利用。
systemd 是当前 Linux 运维核心工具,所有后台服务(Nginx、MySQL、Redis、Docker 等)都由它托管。常用基础操作:
# 查看服务状态 systemctl status nginx # 启动、停止、重启服务 systemctl start nginx systemctl stop nginx systemctl restart nginx # 设置开机自启、取消自启 systemctl enable nginx systemctl disable nginx # 查看服务日志,实时跟踪 journalctl -u nginx -f # 查看最近100行日志 journalctl -u nginx -n 100
当服务启动失败时,优先使用
journalctl -xe查看系统最近报错日志,比单纯看 status 返回信息更容易定位问题。
资源查看是运维最频繁的操作,CPU、内存、磁盘、IO、网络五大资源是巡检重点:
uptime # 查看系统负载、运行时长、在线用户 top / htop # 实时进程资源占用,htop界面更友好 free -h # 内存、交换分区使用情况,h以人类可读单位展示 df -h # 磁盘分区使用率 du -sh /* # 逐层查找占用空间大的目录,磁盘爆满排查神器 iostat -x 1 # 磁盘IO读写、等待、使用率,定位IO瓶颈 vmstat 1 # 系统整体状态,CPU、内存、IO、上下文切换 ss -tunlp # 查看监听端口与进程(推荐替代老旧netstat)
文件与目录管理、压缩解压、查找文件命令:
cp -a /data /backup # -a归档复制,保留权限、时间、软链接 mv old new rm -rf 目录(谨慎使用,生产禁止随意执行) find /data -name "*.log" # 按名称查找文件 tar zcvf bak.tar.gz /data # 打包压缩 tar zxvf bak.tar.gz # 解压
巡检不是简单登录服务器敲几条命令,而是形成固定清单,早发现磁盘告警、内存泄漏、异常进程、登录异常、服务宕机等问题,避免业务故障。巡检分为手动巡检和自动化巡检,小规模服务器手动巡检,服务器数量超过 5 台,建议搭建监控平台自动化采集告警。
巡检记录建议留存文档,方便故障回溯。同时日志不能无限堆积,需要配置日志轮转 logrotate,自动切割、压缩、删除过期日志,防止日志文件持续膨胀打满磁盘,这是很多运维新手容易忽略的点腾讯云。
公网暴露的 Linux 服务器无时无刻不在遭受端口扫描、暴力破解、漏洞利用攻击,安全加固是运维重中之重,一套标准加固基线如下:
PermitRootLogin no;优先使用 SSH 密钥登录,关闭密码登录;限制可登录用户,配置 AllowUsers;使用 fail2ban 监控登录日志,多次密码错误自动封禁攻击 IP,抵御暴力破解;修改默认 22 端口只是辅助手段,不能替代密钥与 fail2ban。firewall-cmd --list-all firewall-cmd --add-port=80/tcp --permanent firewall-cmd --reload
Ubuntu 使用 ufw,简单易用,同样只开放 80、443 等业务端口,其余全部拦截。 3. 账号权限管控:清理长期闲置无用账号,锁定可疑账号;严格管控 sudo 权限,不要给普通用户开放 ALL 权限;关键配置文件、密钥文件严格控制权限,私钥文件必须 600 权限,家目录.ssh 目录 700 权限,权限错误会导致密钥登录失败。 4. 系统安全模块:生产环境开启 SELinux(RHEL 系)或者 AppArmor(Debian 系),很多运维图省事直接关闭,这会损失一层重要防护,熟悉规则后可以通过策略放行业务,而不是一关了之。 5. 定期漏洞修复:订阅安全公告,及时修复 openssl、openssh、内核等高危漏洞;补丁更新遵循:测试环境验证→灰度少量生产→全量更新,做好回滚方案。 6. 禁止不必要服务:新装系统关闭所有不需要开机自启的服务,减少攻击面;关闭无用 RPC、FTP、Telnet 等不安全协议。 7. 日志集中收集:多台服务器建议搭建 rsyslog、ELK、Loki 集中收集日志,方便统一审计、检索异常,单台服务器日志丢失很难追溯入侵行为。
运维圈有一句共识:没有备份,就没有资格谈恢复。备份不是随便打包一份文件,完整备份体系包含备份策略、备份校验、异地存储、恢复演练四个部分,缺少任意一环,备份都可能在故障时失效。
备份分为文件备份、数据库备份、整机镜像备份。文件备份可以使用 rsync 增量同步、tar 定时打包;数据库不能直接复制数据文件,MySQL 使用 mysqldump、xtrabackup,Redis 使用 bgsave、aof,MongoDB 使用 mongodump,保证数据一致性。
策略上常用 3-2-1 备份原则:至少保留 3 份数据副本,存储在 2 种不同介质,1 份异地存放。定时任务 crontab 是 Linux 自动备份常用工具,编写备份脚本,自动打包、上传对象存储、删除过期备份。 重中之重:定期做恢复演练,很多运维定期执行备份,等到硬盘损坏、误删数据时,才发现备份文件损坏、无法解压、数据库备份文件不能导入,备份等于无效。
同时要区分冷备份、热备份,业务不停机优先热备;重要业务可以搭配主从复制、集群高可用架构,高可用是减少故障停机时间,备份是应对逻辑错误、误删、勒索病毒这类场景,二者不能互相替代。
服务器故障五花八门,但是排障可以遵循固定思路,先定位范围,再逐层排查,切忌上来就重启服务、改配置,扩大故障影响。标准流程:确认故障现象→判断影响范围(单台服务器 / 集群、所有用户 / 部分用户)→检查资源指标→查看日志→复现问题→修复验证→事后复盘。
高频故障场景:
故障处理完成后,一定要写故障复盘文档,记录故障时间、根因、处理步骤、损失、优化方案,避免同类问题重复发生,这也是运维能力持续提升的关键。
基础单机运维到一定阶段,会走向监控告警和自动化。单机命令只能人工查看,无法 7×24 小时值守,生产环境必须部署监控平台,主流方案:Prometheus+Grafana+Node Exporter 采集服务器指标,配置 CPU、内存、磁盘、端口、服务状态告警,搭配短信、企业微信、邮件通知,异常第一时间推送,而不是等用户反馈故障。
性能优化不能盲目调参,先监控找到瓶颈,再针对性优化。通用优化方向:调整文件句柄、进程数限制;优化内核参数(net.ipv4 相关网络参数、脏页参数等);合理划分分区,日志、数据盘和系统盘分离,避免日志打满系统盘导致系统崩溃;数据库、中间件独立调优,根据业务并发调整连接池、缓存参数。
随着服务器数量增多,手动运维效率低下,引入自动化工具:Ansible 批量下发配置、批量执行巡检脚本;定时任务标准化管理;容器化 Docker、K8s 把业务环境标准化,降低环境不一致带来的运维成本。自动化的目标是把重复、机械的巡检、部署、加固工作交给程序,运维人员聚焦架构优化、故障治理、安全建设。
Linux 运维不只是敲命令的体力工作,核心是稳定性思维、风险思维、预防思维。优秀运维追求的不是故障发生后快速救火,而是通过巡检、监控、加固、备份,尽可能降低故障发生概率。变更操作是故障高发点,所有线上变更遵守变更流程:评估影响、准备回滚方案、低峰操作、变更后验证,禁止随意在生产环境修改配置、升级程序。
同时运维需要持续学习,技术栈一直在迭代,传统单机运维逐步和云原生、容器、可观测体系融合。扎实掌握 Linux 底层原理、熟练排查基础故障,是走向云原生、SRE、架构师路线的根基。很多开发人员掌握 Linux 运维知识,也能更好理解线上环境,写出更稳定的应用程序。
Linux 运维没有捷径,命令可以查阅手册,但是故障判断力、风险意识、标准化流程,都来自大量线上实践。坚持规范巡检、做好备份、守住安全底线,就能稳稳 hold 住绝大多数服务器场景。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70051563/viewspace-3187394/ ,如需转载,请注明出处,否则将追究法律责任。