Ubuntu LAMP网络优化方法
使用Ubuntu推荐的Netplan工具管理网络配置(配置文件位于/etc/netplan/,如50-cloud-init.yaml),确保IP地址、网关、DNS服务器设置正确,避免手动修改网络脚本导致的兼容性问题。同时,启用systemd-networkd服务替代传统NetworkManager,提升网络接口管理的稳定性和效率。
/etc/apache2/apache2.conf中设置KeepAlive Off,禁用持久连接以减少服务器资源占用;若需保持连接,可将KeepAliveTimeout设置为5-10秒(默认15秒),避免空闲连接占用端口。Event模式(默认)适合高并发场景,Prefork适合兼容性要求高的环境;调整MaxRequestWorkers(最大并发请求数)为服务器内存的1/4(如8GB内存设置为2048),避免进程过多导致内存耗尽。mod_deflate模块启用Gzip压缩(配置AddOutputFilterByType DEFLATE text/html text/css application/javascript),减小传输数据量(通常可减少60%-70%);使用mod_cache和mod_disk_cache缓存静态内容(如图片、CSS),降低重复请求的处理时间。/etc/mysql/my.cnf中增大innodb_buffer_pool_size(InnoDB缓冲池,建议设置为服务器内存的50%-70%,如8GB内存设置为4096M),缓存更多数据和索引,减少磁盘I/O;优化key_buffer_size(MyISAM索引缓冲区,适合MyISAM表)和query_cache_size(查询缓存,适合读多写少的场景)。EXPLAIN语句分析慢查询,添加合适的索引(如主键、唯一索引、联合索引)提升查询速度;避免SELECT *,只查询必要字段,减少数据传输量。php-opcache扩展(sudo apt install php-opcache && sudo phpenmod opcache),缓存编译后的PHP脚本,避免重复编译(可提升20%-30%的执行速度);调整opcache.memory_consumption(缓存大小,建议128M-256M)和opcache.revalidate_freq(缓存验证频率,建议60-300秒)。php.ini文件禁用未使用的PHP扩展(如xdebug、gd(若不需要图片处理)),减少内存占用和启动时间。sysctl命令优化TCP缓冲区大小(net.ipv4.tcp_rmem = 4096 87380 67108864、net.ipv4.tcp_wmem = 4096 65536 67108864)、开启TCP窗口缩放(net.ipv4.tcp_window_scaling = 1)、启用TCP快速重传(net.ipv4.tcp_fastopen = 3)和BBR拥塞控制算法(net.ipv4.tcp_congestion_control = bbr),提升数据传输效率。ufw(Uncomplicated Firewall)仅开放必要端口(HTTP 80、HTTPS 443、MySQL 3306),阻止非法访问;定期检查防火墙日志(sudo ufw status verbose),及时发现异常流量。使用iftop(实时监控网络流量)、nethogs(按进程统计网络使用)、iperf3(测试网络带宽)等工具监控网络性能,定期分析瓶颈(如带宽不足、连接数过多);通过vmstat、top监控系统资源(CPU、内存、磁盘I/O),结合日志分析(Apache的access.log、MySQL的slow_query.log)持续调整优化策略。