温馨提示×

Apache在Debian怎优化

小樊
45
2026-10-03 13:02:48
栏目: 智能运维

下面按Debian 上优化 Apache(通常为 Apache 2.4)的常见思路,从系统层 → Apache 配置 → 模块与缓存 → 监控逐步说明,偏实战。


一、系统与内核层面优化

1. 使用合适的 MPM(最重要)

Debian 默认可能是 mpm_prefork、worker 或 event

查看当前 MPM:

apache2ctl -V | grep -i mpm

推荐:

  • 静态内容 / 高并发:event
  • PHP(非 FPM):prefork
  • PHP-FPM:event 或 worker

切换 MPM(如 event):

sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2

2. 文件描述符限制

ulimit -n

建议 ≥ 65535

修改:

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

Apache 配置:

LimitRequestBody 0

二、Apache 核心配置优化

1. MPM 参数优化(以 event 为例)

编辑:

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

示例(4 核 8G):

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

原则:

  • MaxRequestWorkers 不要超过内存 / 每进程内存
  • MaxConnectionsPerChild 防止内存泄漏

2. KeepAlive 优化

sudo nano /etc/apache2/apache2.conf
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

高并发建议:

  • KeepAliveTimeout 2~5
  • 静态服务可稍高

三、模块与性能优化

1. 禁用不必要模块

常见可禁用:

sudo a2dismod status autoindex cgi negotiation

查看已启用:

apache2ctl -M

2. 启用压缩

sudo a2enmod deflate
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
</IfModule>

3. 启用缓存

浏览器缓存

sudo a2enmod expires
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 30 days"
    ExpiresByType text/css "access plus 7 days"
    ExpiresByType application/javascript "access plus 7 days"
</IfModule>

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

sudo apt install php-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php-fpm

比 mod_php 性能更好、更稳定。


四、安全与连接优化

1. 限制请求

<Directory />
    Options -Indexes
    AllowOverride None
</Directory>

2. 超时控制

Timeout 30

五、监控与压测

1. 状态页(可选)

sudo a2enmod status

访问:

http://server/server-status

2. 压测

ab -n 1000 -c 100 http://localhost/

六、典型推荐组合(生产)

  • Debian 12
  • Apache + mpm_event
  • PHP-FPM
  • mod_deflate + mod_expires
  • 禁用 status / autoindex

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

  • 服务器配置(CPU / 内存)
  • 是否用 PHP / WordPress / 静态站
  • 并发量预期

我可以给你直接可用的配置文件。

0 踩