跳到主要内容

运维基础入门

运维的核心目标是让系统稳定、安全、可观测、可恢复地运行。它不仅是“会操作服务器”,还包括部署、监控、备份、故障处理、容量规划、安全加固和自动化。

一、运维负责什么

常见工作:

  • 服务器初始化;
  • 应用部署和发布;
  • 域名、证书、反向代理配置;
  • 数据库和中间件维护;
  • 日志收集和分析;
  • 监控告警;
  • 备份恢复;
  • 故障排查;
  • 安全加固;
  • 自动化脚本和 CI/CD。

二、基础能力地图

能力说明
Linux文件、进程、权限、网络、服务管理
网络DNS、HTTP、TCP/IP、防火墙
Web 服务Nginx、Caddy、负载均衡
数据库MySQL、Redis、备份恢复
容器Docker、Docker Compose、镜像
监控指标、日志、链路、告警
自动化Shell、Ansible、CI/CD
安全SSH、权限、证书、漏洞修复

三、Linux 基础

常用目录:

目录作用
/etc配置文件
/var/log日志
/usr用户程序
/opt第三方软件
/home用户目录
/tmp临时文件

常用命令:

pwd
ls -lah
cd /path
cat file
tail -f app.log
ps aux
top
df -h
free -h
systemctl status nginx

四、部署基础

一次普通应用部署通常包括:

部署时要关注:

  • 配置和代码分离;
  • 端口是否冲突;
  • 进程是否守护;
  • 日志是否可查;
  • 重启是否自动恢复;
  • 回滚方案是否准备好。

五、进程和服务管理

Linux 服务通常由 systemd 管理。

常用命令:

systemctl status nginx
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl enable nginx
journalctl -u nginx -f

排查服务时看:

  • 服务是否启动;
  • 端口是否监听;
  • 配置文件是否正确;
  • 日志是否报错;
  • 依赖服务是否正常。

六、日志

日志是排查问题的第一现场。

常见日志:

  • 应用日志;
  • Nginx 访问日志;
  • Nginx 错误日志;
  • 系统日志;
  • 数据库日志;
  • 容器日志。

常用命令:

tail -f app.log
grep "ERROR" app.log
journalctl -xe
docker logs -f container_name

日志要记录:

  • 时间;
  • 请求 ID;
  • 用户或来源;
  • 错误信息;
  • 关键参数;
  • 调用耗时。

七、监控和告警

监控要覆盖四类信息:

类型示例
基础资源CPU、内存、磁盘、网络
服务状态进程、端口、健康检查
应用指标QPS、错误率、响应时间
业务指标订单数、支付成功率、注册数

常见告警:

  • CPU 持续过高;
  • 内存不足;
  • 磁盘空间不足;
  • 服务不可用;
  • 错误率升高;
  • 响应时间变慢;
  • 证书即将过期。

告警要可行动,不能只制造噪音。

八、备份和恢复

备份不是目的,能恢复才是目的。

备份策略:

  • 数据库定时备份;
  • 配置文件备份;
  • 文件上传目录备份;
  • 异地备份;
  • 定期恢复演练。

检查点:

  • 备份是否成功;
  • 备份是否可用;
  • 恢复需要多久;
  • 恢复会丢多少数据;
  • 谁负责执行恢复。

九、安全基础

基础安全措施:

  • 禁用弱密码;
  • 使用 SSH Key;
  • 关闭不需要的端口;
  • 最小权限原则;
  • 定期更新系统补丁;
  • 配置防火墙;
  • HTTPS 证书自动续期;
  • 敏感配置不要写进代码;
  • 重要操作保留审计日志。

十、故障排查流程

建议按顺序排查:

常见问题和方向:

问题可能原因
网站打不开DNS、端口、防火墙、Nginx、应用进程
接口 502上游服务挂了、端口错、超时
接口 504应用慢、数据库慢、网关超时
磁盘满日志过大、备份堆积、临时文件
CPU 高死循环、高并发、慢查询、压缩任务
内存高泄漏、缓存过大、并发过高

十一、学习路线

建议顺序:

  1. Linux 基础命令。
  2. 网络基础和常见端口。
  3. Nginx 或 Caddy。
  4. Shell 脚本。
  5. Docker 和 Docker Compose。
  6. MySQL、Redis 基础维护。
  7. 日志和监控。
  8. CI/CD 自动化部署。
  9. 安全加固。
  10. Kubernetes 和云原生。

十二、入门项目

搭建一个个人博客运维环境:

这个项目能覆盖运维最常见的基础能力。

总结

运维的核心不是“手工操作很多命令”,而是建立稳定流程:

入门时先把 Linux、网络、部署、日志、监控和备份打牢,再逐步学习自动化和云原生。