centos lamp环境如何优化
导读:CentOS LAMP 环境优化实操指南 一 系统层面优化 资源与内核 提升文件描述符与进程上限:在 /etc/security/limits.conf 增加 soft/hard nofile 65535 soft/har...
CentOS LAMP 环境优化实操指南
一 系统层面优化
- 资源与内核
- 提升文件描述符与进程上限:在 /etc/security/limits.conf 增加
-
- soft/hard nofile 65535
-
- soft/hard nproc 65535
- mysql/apache soft/hard nofile 65535
- 在 /etc/sysctl.conf 增加 fs.file-max = 1000000 并执行 sysctl -p。
-
- 网络与连接
- 建议值:net.ipv4.tcp_tw_reuse=1、net.ipv4.tcp_tw_recycle=0(NAT/负载均衡环境务必为0)、net.ipv4.tcp_fin_timeout=30、net.ipv4.tcp_keepalive_time=600、net.ipv4.tcp_keepalive_intvl=30、net.ipv4.tcp_keepalive_probes=3、net.ipv4.ip_local_port_range=1024 65000、net.core.somaxconn=4096、net.ipv4.tcp_max_syn_backlog=4096、net.core.netdev_max_backlog=30000、net.ipv4.tcp_max_orphans=262144、net.ipv4.tcp_syncookies=1。
- 内存与I/O
- 降低换页:vm.swappiness=10;脏页刷写:vm.dirty_background_ratio=5、vm.dirty_ratio=10。
- 文件系统:优先 XFS/ext4,挂载加 noatime;SSD 建议使用 noop/deadline 调度器(如:echo noop > /sys/block/sda/queue/scheduler)。
- 基础运维
- 保持系统与软件包更新(yum/dnf update),关闭不必要服务,精简开机自启,配置 firewalld 仅放行 80/443(数据库端口仅内网开放)。
- 提升文件描述符与进程上限:在 /etc/security/limits.conf 增加
二 Apache 优化
- MPM 选择与进程模型
- 优先使用 Event MPM(高并发下资源占用更优):在 /etc/httpd/conf.modules.d/00-mpm.conf 启用 LoadModule mpm_event_module modules/mod_mpm_event.so。
- 核心参数建议(按内存与并发目标调整)
- 示例:
- Timeout 30
- KeepAlive On、MaxKeepAliveRequests 100、KeepAliveTimeout 2
- ServerLimit 256、StartServers 8、MinSpareThreads 64、MaxSpareThreads 256、ThreadsPerChild 64、MaxRequestWorkers 2048、MaxConnectionsPerChild 10000
- 静态资源加速:EnableSendfile On;启用压缩 mod_deflate(压缩级别 6,对 text/html、text/css、application/javascript、application/json 等生效)。
- 日志与模块:减少同步磁盘写入(如 rotatelogs 按日切分)、关闭无用模块(如 HostnameLookups Off)。
- 示例:
三 MySQL MariaDB 优化
- InnoDB 缓冲与连接
- 将大部分内存分配给 InnoDB:innodb_buffer_pool_size ≈ 物理内存的 60%–75%(DB 专用场景)。
- 连接与会话:max_connections(结合应用峰值设定,如 1000 起步)、back_log=512、max_connect_errors=10000。
- 缓存与引擎
- 查询缓存:在 MySQL 5.7 可开启 query_cache_type=1/2 与合理 query_cache_size;在 MySQL 8.0 查询缓存已移除,建议以应用层缓存替代。
- 存储引擎:优先 InnoDB,按需配置 innodb_log_file_size、innodb_flush_log_at_trx_commit(权衡持久性与性能)。
四 PHP 与缓存加速
- PHP 运行时
- 使用 PHP-FPM 并优化进程模型(动态/按需),合理设置 pm.max_children / pm.start_servers / pm.min_spare_servers / pm.max_spare_servers。
- 启用 OPcache(生产务必开启),禁用不必要的 PHP 模块,减少安全风险与内存占用。
- 数据与应用层缓存
- 引入 Redis/Memcached 做对象/页面片段缓存,减轻数据库与后端压力。
- 静态资源与全页加速:部署 Varnish 或 Nginx 反向代理缓存;启用 mod_deflate 压缩传输。
五 监控验证与安全加固
- 监控与压测
- 监控:top/vmstat/iostat/netstat、日志轮转(如 rotatelogs)、慢查询日志(MySQL)、应用性能监控(如 APM)。
- 压测:使用 ab、wrk、sysbench 进行基线测试与回归验证,逐步调参。
- 安全与合规
- 防火墙仅放行 80/443(数据库端口内网访问),定期更新补丁;SELinux 建议保持 Enforcing 并做策略调优,而非直接关闭。
- 变更与回滚
- 任何参数调整前先备份配置与数据,先在测试环境验证,分阶段上线并保留回滚方案。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos lamp环境如何优化
本文地址: https://pptw.com/jishu/776987.html
