温馨提示×

centos lamp怎样优化速度

小樊
38
2026-09-09 06:40:50
栏目: 智能运维

在 CentOS 上优化 LAMP(Linux + Apache + MySQL/MariaDB + PHP)速度,可以从系统层、Apache、MySQL、PHP、缓存、前端几个方向入手。下面给你一套较实用、可落地的优化方案。


一、系统层优化(基础)

1. 关闭不必要的服务

systemctl list-unit-files --type=service | grep enabled

关闭用不到的:

systemctl disable --now postfix
systemctl disable --now firewalld   # 若有外部防火墙可关

2. 调整文件描述符

ulimit -n 65535

永久生效:

/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535

3. 使用 SSD / 提升 IO

  • 数据库目录放 SSD
  • /tmp 可用 tmpfs(内存盘)

二、Apache 优化(重点)

1. 选择合适的 MPM

查看当前 MPM:

httpd -V | grep MPM

推荐:

  • CentOS 7+:event(高并发)
  • 老机器:prefork

修改:

/etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_event_module modules/mod_mpm_event.so

2. event MPM 示例配置

<IfModule mpm_event_module>
    StartServers             4
    MinSpareThreads         25
    MaxSpareThreads         75
    ThreadLimit             64
    ThreadsPerChild         25
    MaxRequestWorkers      400
    MaxConnectionsPerChild 5000
</IfModule>

3. 关闭无用模块

httpd -M

注释掉不用的:

#LoadModule status_module
#LoadModule autoindex_module

4. 开启 KeepAlive(适度)

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

三、PHP 优化

1. 使用 PHP-FPM(强烈推荐)

yum install php-fpm

Apache 使用:

<FilesMatch \.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

2. php.ini 优化

memory_limit = 256M
max_execution_time = 30
opcache.enable=1
opcache.memory_consumption=128
opcache.revalidate_freq=60

3. 安装 OPcache

yum install php-opcache

四、MySQL / MariaDB 优化(重点)

1. 使用 MariaDB(CentOS 默认更好)

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

2. 基础 my.cnf 优化

[mysqld]
innodb_buffer_pool_size = 1G   # 物理内存的 50%~70%
innodb_log_file_size = 256M
query_cache_type = 0           # MySQL 8 已移除
max_connections = 300
slow_query_log = 1

3. 定期优化表

OPTIMIZE TABLE table_name;

五、缓存加速(非常关键)

1. 页面缓存

  • WordPress:WP Super Cache / Redis
  • 通用:Varnish(前置 Apache)

2. Redis 缓存

yum install redis
systemctl enable --now redis

PHP 使用:

yum install php-redis

六、前端 & 网络优化

  • 开启 Gzip
AddOutputFilterByType DEFLATE text/html text/css application/javascript
  • 启用浏览器缓存
ExpiresActive On
ExpiresByType image/jpg "access plus 30 days"
  • 使用 CDN(静态资源)

七、监控 & 调优工具

top
htop
iotop
mysqltuner.pl
apachectl fullstatus

八、快速见效清单(优先级)

  1. ✅ 启用 OPcache
  2. ✅ Apache 改 event + PHP-FPM
  3. ✅ innodb_buffer_pool 调大
  4. ✅ 开启 Gzip
  5. ✅ 使用 Redis 缓存

如果你能告诉我:

  • CentOS 版本
  • Apache / PHP / MySQL 版本
  • 网站类型(WordPress / 自研 / 商城)

我可以给你更精确的配置文件示例。

0 踩