Rocky Linux9 服务器运维模块一学习总结
整体说明:整套模块基于阿里云ECS(Rocky Linux 9.8 2核2G),共4讲。建立标准化运维习惯:
私钥永不外传、改配置先留后路、先验证再收口,修改配置后先语法检测再重载服务,VNC带外连接作为故障自救兜底通道。
第1讲 服务器安全加固
目标:加固裸奔服务器,抵御SSH暴力破解,只允许密钥登录。
- 公网服务器22端口容易遭受暴力破解,查看爆破日志命令:
journalctl -u sshd | grep -i failed
两条登录通道
- SSH(含Workbench):走22端口,受sshd配置、安全组控制,配置出错会断开连接。
- VNC带外管理:不走网络端口,不受sshd/安全组限制,锁机后的自救通道。
SSH密钥登录
- 原理:公钥存服务器,私钥保存在本地电脑,私钥严禁外传;生成密钥:
ssh‑keygen -t ed25519
- 目录权限
.ssh:700;authorized_keys文件权限:600,权限过松SSH拒绝密钥登录。
- 操作纪律:密钥验证登录成功之后,再关闭密码登录;给巡检账号只部署对方公钥,不能发送自己私钥。
- 修改sshd_config配置:开启公钥认证,关闭密码登录,禁止root远程登录,配置用户白名单。
- 配置校验:
sshd -t 校验语法,再执行 systemctl reload sshd
双层防护与fail2ban
- 两层防护:阿里云安全组 + firewalld主机防火墙,遵循最小开放原则。
- fail2ban:EPEL源安装,监控SSH日志自动封禁爆破IP;Rocky9必须使用
backend=systemd
故障自救:密钥登录失败优先检查目录与文件权限;SSH被锁死,使用VNC登录回滚配置。
第2讲 网站上线:Nginx+域名解析,部署个人主页
目标:打通DNS、防火墙、Web服务,上线个人静态主页。
DNS域名解析
- A记录把域名 @、www指向服务器公网IP;TTL是DNS缓存时间,解析存在延迟,建议提前配置。
- 验证解析命令:
nslookup 你的域名
端口放行
安全组、firewalld两层放行TCP 80(HTTP)端口。
Nginx部署要点
dnf install -y nginx
systemctl enable --now nginx
nginx -t #语法检查
systemctl reload nginx #重载配置
- 站点配置存放路径:
/etc/nginx/conf.d/*.conf
- 依靠
server_name 匹配HTTP请求Host头实现虚拟主机。
- 独立网站目录,目录权限755,网页文件权限644;阿里云Rocky镜像默认关闭SELinux。
故障排查
- 403 Forbidden:权限不足,nginx工作进程以nginx用户运行,优先查看nginx错误日志。
- IP访问显示默认页:IP访问没有匹配server_name,落到系统默认站点。
- 日志排障:
tail -f 日志路径 实时查看访问日志、错误日志。
合规:主页底部放置ICP备案号,链接工信部备案官网,新窗口打开。
第3讲 HTTPS证书与自动续期
目标:网站TLS加密,解决HTTP明文窃听风险,配置证书自动续期。
- HTTP是明文传输,链路可以窃听请求;HTTPS = HTTP + TLS,实现传输加密 + 服务器身份认证。
- Let’s Encrypt免费证书有效期90天,后续缩短到45天,无邮件提醒,自动续期必须配置。
- 端口:放行443(HTTPS);80端口不能关闭,用于http跳转https和证书域名验证。
dnf install -y certbot
#演练,不消耗正式次数
certbot certonly --webroot -w /var/www/mysite -d example.com -d www.example.com --dry-run
#正式申请去掉--dry-run
privkey.pem证书私钥严禁泄露。
- Nginx配置:80端口做acme验证+301重定向到HTTPS;443 ssl加载证书。
- 自动续期:启用
certbot‑renew.timer 定时器;deploy钩子脚本续期成功自动重载nginx。
- 续期演练:
certbot renew --dry-run
- 抓包现象:HTTPS内容加密乱码,但SNI会明文暴露访问的域名。
第4讲 Nginx多站点(虚拟主机)子域名站点
目标:单服务器单IP部署多个独立网站,理解Nginx完整配置体系。
- 虚拟主机原理:依靠HTTP请求Host请求头,通过server_name匹配域名,分发到不同server{}站点。
Nginx配置结构
- 主配置
/etc/nginx/nginx.conf:全局 → events → http块;include /etc/nginx/conf.d/*.conf加载站点。
- 配置继承:http块设置,server块可以继承,也可以重写覆盖。
nginx -T输出完整合并后的生效配置,用于排错。
location匹配优先级:精确匹配 = > ^~前缀 >正则 ~/~* >普通最长前缀匹配
默认站点:域名全部不匹配时,交给带default_server站点;无标记取第一个监听的server。
子站点部署流程
- DNS添加子域名A记录;
- 创建独立网站目录,设置权限,上传网页;
- 编写80端口配置,处理acme验证与跳转;
- certbot为子域名申请独立证书;
- 补充443 ssl配置,实现一站一配置、一站一日志、一站一证书。
- 原有certbot定时器自动管理全部证书,子站点无需额外配置续期。
- 日志相互隔离,访问哪个站点,记录写入对应站点日志。
贯穿全书核心运维习惯
- SSH私钥、证书私钥,密钥类文件永远不外泄;
- 修改配置前备份,修改后先语法校验,再重载服务;
- 新功能先验证可用,再关闭旧方案;证书申请先dry‑run演练;
- 云服务器VNC带外通道,作为故障兜底自救手段;
- 网络端口遵循最小权限,仅开放业务需要的端口;
- 排查故障优先读取服务日志定位根源。