优化Debian上的LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境可以从多个方面进行,包括性能、安全性、资源利用率等。以下是一些基本的优化步骤和建议:
auto
以自动根据CPU核心数调整工作进程数。auto
以自动分配工作进程到不同的CPU核心。65535
以允许更多的文件描述符。/var/logs/nginx/error.log
以减少日志记录对性能的影响。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
/etc/php/7.x/fpm/php.ini
):
memory_limit
和max_execution_time
。pm.max_children
、pm.start_servers
、pm.min_spare_servers
和pm.max_spare_servers
以优化PHP-FPM进程管理。innodb_buffer_pool_size
,通常设置为系统内存的50%-80%。max_connections
以匹配服务器的处理能力。query_cache_size
和query_cache_type
。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"
ufw
限制入站和出站流量,仅允许必要的端口(如HTTP、HTTPS和SSH)连接。mysql_secure_installation
命令进行安全设置,包括修改MySQL的默认口令、关闭3306端口监听(如果不需要远程访问)、修改默认字符集等。在进行任何配置更改后,都应该进行充分的测试以确保系统的稳定性和性能提升。