一、硬件层面优化
二、操作系统层面优化
vm.swappiness=5(减少交换分区使用)、vm.dirty_background_ratio=5(后台脏页刷新阈值)、net.ipv4.tcp_tw_reuse=1(复用TIME-WAIT连接)。noatime(减少文件访问时间记录)与nodiratime(减少目录访问时间记录)。三、Nginx配置优化
worker_processes auto;(自动匹配CPU核心数),worker_connections 65535;(单个进程最大并发连接数),提升并发处理能力。proxy_cache缓存静态/动态内容(如proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;),减少后端请求;开启gzip on;压缩(gzip_types text/plain text/css application/json;),降低传输数据量。expires 30d;缓存头,避免重复请求。四、MySQL/MariaDB配置优化
innodb_buffer_pool_size为服务器总内存的50%-80%(如16GB内存设为10GB),提升InnoDB引擎性能;设置max_connections为预期并发连接数(如500-1000),避免连接过多导致崩溃。slow_query_log(slow_query_log=1)并设置long_query_time=2(超过2秒的查询记录),定期用pt-query-digest分析慢查询并优化索引;每周执行OPTIMIZE TABLE整理表碎片,提升查询效率。五、PHP配置优化
zend_extension=opcache.so; opcache.enable=1),设置opcache.memory_consumption=64(缓存大小)、opcache.max_accelerated_files=10000(缓存文件数),加速PHP代码执行;调整PHP-FPM参数(pm.max_children=50、pm.start_servers=5、pm.min_spare_servers=5、pm.max_spare_servers=35),根据内存与CPU核心数合理分配子进程,避免资源浪费或不足。memory_limit=128M(单个脚本内存限制)、max_execution_time=30(脚本最大执行时间),防止脚本占用过多资源。六、监控与日志分析
/var/log/nginx/error.log)、MySQL(/var/log/mysql/error.log)、PHP(/var/log/php-fpm/error.log)的错误日志,分析慢查询、连接超报等问题根源,针对性优化。七、负载均衡与高可用
upstream模块将流量分发到多个后端服务器(如upstream backend { server 192.168.1.1; server 192.168.1.2; }),提升系统吞吐量。八、安全措施
firewalld或iptables关闭不必要的端口(如FTP、Telnet),仅开放80(HTTP)、443(HTTPS)、3306(MySQL)等必要端口,限制非法访问。nginx、mysql、php-fpm),设置最小权限(如MySQL用户仅授予所需数据库权限),防止越权操作。