资源栈 - www.zyz88.com

Linux服务器运维实战指南:安全加固、性能优化与监控告警全攻略

admin
2026-09-12 1 阅读 0 评论 0 点赞

服务器是网站运行的基石,稳定的运维是网站持续可用的保障。很多站长只关注建站和内容,却忽视了服务器的日常维护,导致网站经常出现宕机、被黑、性能下降等问题。本文将分享一套实用的Linux服务器运维规范,涵盖安全加固、性能优化、监控告警、备份恢复等核心环节。

一、系统初始化安全加固

新服务器上线后的第一步就是安全加固,以下是必须执行的操作:

  1. 修改SSH默认端口,禁止root直接登录
  2. 使用密钥登录,禁用密码登录
  3. 配置防火墙,只开放必要端口
  4. 安装fail2ban防止暴力破解
  5. 关闭不必要的系统服务
# 修改SSH配置
vim /etc/ssh/sshd_config
Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

# 重启SSH服务
systemctl restart sshd

# 配置防火墙
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

# 安装fail2ban
yum install fail2ban -y
systemctl enable fail2ban && systemctl start fail2ban

二、性能优化配置

服务器性能直接影响网站访问速度。以下是关键优化项:

优化项 配置建议 效果
Nginx gzip压缩 开启gzip,压缩级别6 减少传输体积60%
PHP OPcache 内存128M,命中率>95% PHP执行提速3-5倍
MySQL缓存 innodb_buffer_pool_size=物理内存60% 数据库查询提速
静态资源缓存 expires 7d,添加ETag 减少重复请求
Swap配置 物理内存的1-2倍 防止OOM崩溃

Nginx gzip配置示例:

gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
gzip_vary on;
gzip_disable "MSIE [1-6].";

三、监控告警体系

建立完善的监控体系,第一时间发现问题:

  • 系统监控:CPU、内存、磁盘、网络流量(推荐Prometheus + Grafana)
  • 服务监控:Nginx、MySQL、PHP-FPM进程状态
  • 网站监控:HTTP状态码、响应时间、SSL证书有效期
  • 日志监控:错误日志、慢查询日志、访问日志异常

简单的网站可用性监控脚本:

#!/bin/bash
URL="https://yourdomain.com"
STATUS=$(curl -s -o /dev/null -w "%{http_code}" )
if [ "" != "200" ]; then
    echo "网站异常,状态码: " | mail -s "网站告警" admin@example.com
fi

四、备份策略

备份是最后一道防线,必须做到”3-2-1″原则:3份备份、2种介质、1份异地。

  1. 数据库备份:每日全量备份,保留7天
  2. 文件备份:每周全量,每日增量
  3. 配置备份:Nginx、PHP、MySQL配置文件
  4. 异地存储:备份同步到阿里云OSS或腾讯云COS
  5. 定期恢复演练:每月验证备份可正常恢复
# MySQL数据库备份脚本
#!/bin/bash
DATE=$(date +%Y%m%d)
mysqldump -u root -p密码 --all-databases | gzip > /backup/db_.sql.gz
# 保留最近7天
find /backup -name "db_*.sql.gz" -mtime +7 -delete

五、日志分析与故障排查

常用日志位置和分析命令:

  • Nginx访问日志:/var/log/nginx/access.log
  • Nginx错误日志:/var/log/nginx/error.log
  • MySQL慢查询:/var/log/mysql/slow.log
  • 系统日志:/var/log/messages
# 统计访问量前10的IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10

# 查看慢查询
mysqldumpslow -s t -t 10 /var/log/mysql/slow.log

# 实时查看系统资源
htop
iotop
iftop

六、日常运维检查清单

频率 检查项
每日 网站可用性、备份状态、磁盘空间
每周 安全更新、日志分析、性能趋势
每月 备份恢复演练、安全审计、容量规划
每季度 系统升级、架构评估、灾难恢复演练
文章标题 Linux服务器运维实战指南:安全加固、性能优化与监控告警全攻略
本文由 资源栈 原创发布,转载请注明出处并保留原文链接。