首页/发现新知
视界 · 深度阅读

centos lamp如何加速

在 CentOS 上搭建的 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境,如果感觉访问慢、响应慢,可以从系统层、Web 层、数据库层、PHP 层、缓存层几个方向来加速。下面给你一套实用、可落地的优化方案。


一、系统层加速(基础)

1. 关闭无用服务

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

关闭不必要的服务(如 postfix、cups 等)。

2. 调整文件描述符限制

vi /etc/security/limits.conf

添加:

* soft nofile 65535
* hard nofile 65535

3. 内核参数优化(TCP)

vi /etc/sysctl.conf

示例:

net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

执行:

sysctl -p

二、Apache 加速

1. 使用合适的 MPM

推荐 event(PHP-FPM) 或 worker

查看:

httpd -V | grep MPM

编辑:

vi /etc/httpd/conf.modules.d/00-mpm.conf

启用:

LoadModule mpm_event_module modules/mod_mpm_event.so

2. 启用 KeepAlive(适度)

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

3. 开启压缩

a2enmod deflate   # CentOS 通常是已编译

或手动加载:

LoadModule deflate_module modules/mod_deflate.so

配置:

AddOutputFilterByType DEFLATE text/html text/css application/javascript

4. 禁用目录浏览

Options -Indexes

三、PHP 加速(非常重要)

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

yum install php-fpm
systemctl enable php-fpm

Apache 使用:

proxy:unix:/run/php-fpm/www.sock|fcgi://localhost

2. 安装 OPcache

yum install php-opcache

php.ini:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60

3. 调整 PHP 参数

memory_limit = 256M
max_execution_time = 30
upload_max_filesize = 20M

四、MySQL / MariaDB 加速

1. 使用缓存型配置

编辑:

vi /etc/my.cnf.d/server.cnf

示例(2GB 内存):

innodb_buffer_pool_size = 1G
query_cache_size = 64M
query_cache_type = 1

2. 慢查询分析

SHOW VARIABLES LIKE 'slow_query%';

开启慢日志,优化 SQL。

3. 建立索引

避免 SELECT *,给常用查询字段加索引。


五、缓存层加速(效果最明显)

1. 安装 Redis / Memcached

yum install redis
systemctl start redis

PHP 使用:

yum install php-redis

2. 页面缓存(CMS 场景)

  • WordPress → Redis Object Cache
  • 自建系统 → 文件缓存 / Redis 缓存

3. 静态资源走 CDN

  • JS / CSS / 图片放 CDN
  • Apache 设置长缓存:
<FilesMatch "\.(js|css|png|jpg)$">
Header set Cache-Control "max-age=2592000"


六、其他实用技巧

  • 使用 HTTP/2(需 HTTPS)
  • 定期清理日志
  • 使用 htop、iotop、mysqltuner 排查瓶颈
  • SSD 比 HDD 快 5–10 倍

七、快速自检命令

top
free -h
iostat -x 1
mysqltuner
ab -n 1000 -c 100 http://localhost/

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • Apache + PHP 运行方式(mod_php / php-fpm)
  • 是哪种网站(WordPress / 自研 / 商城)

我可以直接给你一份可复制的优化配置文件。

读到这里,发现更多一点。探索更多内容 ↗