温馨提示×

如何用Debian优化LNMP

小樊
75
2025-05-04 03:19:02
栏目: 智能运维

LNMP是指Linux系统下Nginx、MySQL和PHP(或Perl、Python)这种网站服务器架构。优化Debian上的LNMP性能可以从多个方面进行,包括性能、安全性、资源利用率等。以下是一些基本的优化步骤和建议:

LNMP优化步骤

  • Nginx优化

    • 设置 worker_processesauto 以自动适应CPU核心数。
    • 设置 worker_cpu_affinityauto 以自动分配CPU亲和性。
    • 设置 worker_rlimit_nofile65535 以允许更多的文件描述符。
    • 开启 sendfile 以启用sendfile系统调用。
    • 关闭 gzip 压缩以减少CPU使用。
    • 设置 fastcgi_read_timeout300000 以增加FastCGI应用程序的响应时间。
    • 开启 tcp_nodelay 以提高I/O性能。
    • 关闭 server_tokens 以减少HTTP头信息的大小。
    • 设置 keepalive_timeout65 以保持连接复用。
    • 设置 keepalive_requests100000 以允许更多的保持活动请求。
    • 设置 error_log/var/logs/nginx/error.log 以减少日志记录对性能的影响。
  • PHP优化

    • 启用并配置 opcache,例如:
      • opcache.enable=1
      • opcache.interned_strings_buffer=64
      • opcache.max_accelerated_files=10000
      • opcache.memory_consumption=256
      • opcache.save_comments=1
      • opcache.fast_shutdown=1
      • opcache.validate_timestamps=1
      • opcache.fast_shutdown=1
      • opcache.jiton=1
      • opcache.jit_buffer_size=128
  • MySQL优化

    • 根据服务器内存调整 innodb_buffer_pool_size,通常设置为系统内存的50%-80%。
    • 调整 max_connections 以匹配服务器的处理能力。
    • 根据查询访问模式启用或调整 query_cache_sizequery_cache_type
    • 启用并定期检查慢查询日志以优化查询性能。
  • Linux系统优化

    • 通过 ulimit -n 65535 提高文件描述符限制。
    • 调整以下参数以优化网络性能:
      • sysctl -w net.core.somaxconn=65535
      • net.ipv4.ip_local_port_range="1024 65535"
      • net.ipv4.tcp_fin_timeout="30"
      • net.ipv4.tcp_slow_start_after_idle="0"
      • net.ipv4.tcp_fastopen="3"
      • net.ipv4.tcp_syncookies="1"
      • net.core.netdev_max_backlog="65535"
      • net.nf_conntrack_max="2097152"

安全配置

  • 更新系统:确保系统是最新的,以修复已知的安全漏洞和提升系统性能。
  • 配置防火墙:使用 ufwiptables 限制对服务器的访问。
  • 配置SSH安全性:更改SSH默认端口,禁用root登录,使用SSH密钥对进行身份认证。
  • 设置数据库的安全选项:使用 mysql_secure_installation 命令进行安全设置。

监控和日志

  • 使用监控工具如 PrometheusGrafana 来监控服务器的性能。
  • 定期检查和分析Nginx和PHP-FPM的日志文件,以便及时发现和解决问题。

在进行任何配置更改后,都应该进行充分的测试以确保系统的稳定性和性能提升。

0