本文记录了我从学习 Linux 到独立部署云服务器、解决真实故障的全过程。
所有问题均来自真实环境,而非教程模拟。
一、学习背景
• 当前岗位:银行驻场运维(初级)
• 学习方式:Linux + 实战驱动 + 云服务器
一开始,我只是跟着课程学习 Linux 基础命令,并没有真实业务环境。
直到我租了一台云服务器,才真正进入「运维现场」。
二、服务器环境说明
• 云厂商:腾讯云轻量应用服务器
• 系统:Rocky Linux 9.4(CentOS 体系)
• 配置:2核 CPU / 2G 内存 / 50G SSD
• Web 服务:Nginx
• 后端:PHP-FPM
• 数据库:MariaDB
• 应用:WordPress
• 域名:jovis.site
三、我遇到的第一个真实问题:网站打不开 / 404
现象
• 使用 IP 访问:有时 404,有时能打开
• 使用域名访问:手机打不开,电脑能打开
• WordPress 登录后台后,页面直接报错
四、我的排障思路(真实运维流程)
1️⃣ 确认服务是否运行
systemctl status nginx
systemctl status php-fpm
systemctl status mariadb
✅ 服务正常
2️⃣ 确认端口是否监听
ss -lntp | grep 80
ss -lntp | grep php
确认:
• Nginx 监听 0.0.0.0:80
• PHP 使用 /run/php-fpm/www.sock
3️⃣ 确认防火墙规则
sudo firewall-cmd –list-all
确认:
• 防火墙已开启
• 已放行 80/tcp、443/tcp
4️⃣ 检查 Nginx 配置
nginx -T
发现问题:
• 存在多个 server 块
• 之前手动新建过 default.conf
• 产生了 server_name 冲突
👉 导致请求被错误匹配
五、域名 / IP 混乱导致 WordPress 登录失败
关键发现
登录后台后,浏览器会跳转到:
但数据库中存的是 IP 地址。
排查数据库配置
show databases;
use wpdb;
select option_name, option_value
from wp_options
where option_name in (‘siteurl’,’home’);
发现:
• siteurl
• home
值与当前访问方式不一致。
解决方式
统一设置为域名:
update wp_options
set option_value=’https://jovis.site’
where option_name in (‘siteurl’,’home’);
🎯 问题解决。
六、我学到的真实运维经验
✅ 1. 排障不是记命令,而是顺序
固定思路:
服务 → 端口 → 防火墙 → 配置 → 日志 → 数据库
✅ 2. 数据库不是开发专属
运维只需要会:
• 查
• 改
• 不误删
✅ 3. 真实环境会暴露所有短板
教程里不会告诉你:
• server_name 冲突
• IP / 域名不一致
• HTTPS 自动跳转问题
但企业现场每天都是这些问题。
七、为什么我要把学习过程写成网站
• 复习方便
• 建立完整知识体系
• 面试时可直接展示真实项目
• 证明我不是“只会背命令”的人
八、下一步计划
• 自动备份脚本
• 定时任务(crontab)
• 日志分析
• 服务器监控
• 故障演练记录
最终目标:
把这台服务器,维护成「企业级运维示例」。
九、总结
这不是一次完美的部署。
但这是一次真实、完整、可复盘的运维实战。打开保存面板