插件窝 干货文章 CentOS搭建web服务器的运维及性能优化注意事项

CentOS搭建web服务器的运维及性能优化注意事项

Nginx 优化 缓存 配置 384    来源:    2025-04-12

在CentOS上搭建Web服务器(如Apache/Nginx)并确保其稳定高效运行,需重点关注以下运维及性能优化要点:


一、系统层优化

  1. 内核参数调整

    • 修改 /etc/sysctl.conf
      conf net.ipv4.tcp_tw_reuse = 1 # 快速回收TIME_WAIT连接 net.ipv4.tcp_max_tw_buckets = 6000 # 限制TIME_WAIT数量 net.core.somaxconn = 65535 # 提高连接队列长度 vm.swappiness = 10 # 减少Swap使用倾向
    • 生效命令:sysctl -p
  2. 文件描述符限制

    • 修改 /etc/security/limits.conf
      ```conf
      • soft nofile 65535
      • hard nofile 65535 ```
  3. 禁用不必要的服务

    • 关闭非必需服务(如postfix、cups):
      bash systemctl stop postfix && systemctl disable postfix

二、Web服务器优化

Nginx

  1. 配置优化

    • 修改 /etc/nginx/nginx.conf
      nginx worker_processes auto; # 自动匹配CPU核心数 worker_connections 10240; # 单个进程最大连接数 keepalive_timeout 65; # 长连接超时 gzip on; # 启用压缩 access_log off; # 高负载时可关闭日志
  2. 启用缓存

    • 静态资源缓存配置:
      nginx location ~* \.(jpg|css|js)$ { expires 30d; access_log off; }

Apache

  1. MPM模式选择

    • 使用event模式(CentOS 7+默认):
      apache <IfModule mpm_event_module> StartServers 3 MinSpareThreads 75 MaxSpareThreads 250 ThreadsPerChild 25 MaxRequestWorkers 400 </IfModule>
  2. 禁用不必要模块

    • 减少内存占用:
      bash yum remove httpd-mod_php5 # 若使用PHP-FPM

三、数据库优化(如MySQL/MariaDB)

  1. InnoDB配置

    • 修改 /etc/my.cnf
      ini innodb_buffer_pool_size = 4G # 分配50%-70%可用内存 innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 2 # 非严格ACID场景可调优
  2. 查询缓存

    • 高并发写入场景建议关闭:
      ini query_cache_type = 0

四、安全加固

  1. 防火墙配置

    • 仅开放必要端口:
      bash firewall-cmd --permanent --add-service={http,https} firewall-cmd --reload
  2. SELinux策略

    • 调整策略或设为宽松模式:
      bash setenforce 0 # 临时关闭(生产环境需谨慎)
  3. 定期更新

    • 保持系统及软件最新:
      bash yum update -y && yum upgrade -y

五、监控与日志

  1. 实时监控工具

    • 使用htopnmonPrometheus+Grafana监控资源。
    • Nginx/Apache日志分析:goaccessELK
  2. 日志轮转

    • 配置logrotate防止日志膨胀:
      conf /var/log/nginx/*log { daily rotate 30 compress missingok }

六、高级优化(可选)

  • 启用HTTP/2(Nginx 1.9.5+):
    nginx listen 443 ssl http2;
  • 启用Brotli压缩:替代Gzip提升压缩率。
  • CDN加速:静态资源分发至边缘节点。

常见问题排查

  1. 502 Bad Gateway
    • 检查后端服务(如PHP-FPM)是否崩溃或超时。
  2. 高CPU负载
    • 使用topperf定位进程,优化慢查询或代码逻辑。
  3. 内存不足
    • 调整Swappiness,优化数据库缓存大小。

通过以上步骤,可显著提升Web服务器的并发处理能力和稳定性。建议根据实际业务场景进行针对性调优,并通过压力测试(如abwrk)验证效果。