温馨提示×

怎样优化linux lamp

小樊
46
2026-09-03 14:47:16
栏目: 智能运维

优化 Linux + LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境,可以从系统层、Web 服务、数据库、PHP、缓存、安全与监控多个维度入手。下面给你一份实用、可落地的优化清单,适合生产环境。


一、Linux 系统层优化

1. 内核与文件描述符

# 提高文件描述符限制
ulimit -n 65535

/etc/security/limits.conf

* soft nofile 65535
* hard nofile 65535

2. 网络参数优化

/etc/sysctl.conf

net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600
sysctl -p

3. 关闭无用服务

systemctl disable --now postfix
systemctl disable --now bluetooth

二、Apache 优化(重点)

1. 选择 MPM(推荐 event)

a2dismod php7.4 mpm_prefork
a2enmod mpm_event

2. 配置 event MPM

/etc/apache2/mods-enabled/mpm_event.conf

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

3. 关闭无用模块

a2dismod status autoindex cgi

4. 开启压缩与缓存

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/css application/javascript
</IfModule>

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
</IfModule>

5. 使用 HTTP/2

a2enmod http2

三、MySQL / MariaDB 优化

1. 基础参数(示例 4G 内存)

/etc/my.cnf 或 /etc/mysql/my.cnf

[mysqld]
innodb_buffer_pool_size = 2G
innodb_log_file_size = 256M
query_cache_type = 0
max_connections = 300
slow_query_log = 1
long_query_time = 1

2. 使用 mysqltuner 检查

wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
perl mysqltuner.pl

3. 索引与慢查询

EXPLAIN SELECT * FROM orders WHERE user_id=1;

四、PHP 优化

1. 使用 PHP-FPM(推荐)

a2enmod proxy_fcgi setenvif
a2enconf php7.4-fpm

2. PHP-FPM 配置

/etc/php/7.4/fpm/pool.d/www.conf

pm = dynamic
pm.max_children = 100
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30

3. OPcache 必开

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000

五、缓存层优化(非常重要)

1. 页面/数据缓存

  • Redis(推荐)
apt install redis-server
  • 或 Memcached

2. 静态资源走 CDN

  • 图片、JS、CSS 放 CDN
  • Apache 只处理动态请求

六、安全与稳定

  • 禁止目录遍历
Options -Indexes
  • 限制 POST 大小
LimitRequestBody 10485760
  • 定期更新
apt update && apt upgrade -y

七、监控与压测

监控

  • htop
  • iotop
  • netdata
  • Prometheus + Grafana

压测

ab -n 10000 -c 200 http://domain.com/

八、典型优化收益顺序(优先级)

  1. OPcache + PHP-FPM
  2. Apache event + HTTP/2
  3. MySQL 索引 + buffer pool
  4. Redis 缓存
  5. CDN + 静态资源分离

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

  • 服务器配置(CPU/内存)
  • 访问量(PV/UV)
  • 用的是 Apache 还是 Nginx
  • PHP 版本 & 应用类型(WordPress / 自研系统)

我可以直接帮你给出一份针对性配置。

0 踩