LNMP是指Linux系统下Nginx、MySQL、PHP(或Perl、Python)这种网站服务器架构。在Debian上优化LNMP性能可以从多个方面进行,包括Nginx、MySQL、PHP以及Linux系统本身的优化。以下是一些基本的优化步骤和建议:
Nginx优化
- worker_processes:设置为auto以自动适应CPU核心数。
- worker_cpu_affinity:设置为auto以自动分配CPU亲和性。
- worker_rlimit_nofile:设置为65535以允许更多的文件描述符。
- sendfile:开启以启用sendfile系统调用。
- gzip:关闭压缩以减少CPU使用。
- fastcgi_read_timeout:设置为300000以增加FastCGI应用程序的响应时间。
- tcp_nodelay:开启以提高I/O性能。
- server_tokens:关闭以减少HTTP头信息的大小。
- keepalive_timeout:设置为65以保持连接复用。
- keepalive_requests:设置为100000以允许更多的保持活动请求。
- error_log:设置为/var/logs/nginx/error.log以减少日志记录对性能的影响。
PHP优化
- opcache:启用并配置以下参数:
- opcache.enable
- opcache.interned_strings_buffer
- opcache.max_accelerated_files
- opcache.memory_consumption
- opcache.save_comments
- opcache.fast_shutdown
- opcache.validate_timestamps
- opcache.fast_shutdown
MySQL优化
- 内存配置:根据服务器内存调整
innodb_buffer_pool_size
,通常设置为系统内存的50%-80%。
- 连接数:调整
max_connections
以匹配服务器的处理能力。
- 查询缓存:根据查询访问模式启用或调整
query_cache_size
和query_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
其他优化措施
- 更新系统:确保系统是最新的,这有助于修复已知的安全漏洞和提升系统性能。
- 安装和配置Nginx:使用最新版本的Nginx可以提供更好的性能和安全性。
- 安装和配置MariaDB或MySQL:确保数据库的配置文件中的设置是优化的,例如调整缓冲区大小、连接数等。
- 安装和配置PHP:安装必要的PHP模块以支持你的应用程序,并优化PHP配置文件。
在进行任何配置更改之前,建议备份相关配置文件,并确保了解更改的影响。具体的调优步骤可能会根据系统的实际使用情况和业务需求有所不同。