温馨提示×

debian apache2怎样优化

小樊
39
2026-09-30 14:47:41
栏目: 智能运维

在 Debian 上优化 Apache2,一般可以从 系统层面、Apache 配置、模块管理、PHP/后端、缓存与压测 几个方面入手。下面是一套比较实用的优化清单(兼顾稳定与性能)。


一、系统层面优化(基础)

1. 系统资源检查

free -h
top
df -h

确保:

  • 内存充足(避免频繁 swap)
  • 磁盘 I/O 不是瓶颈

2. 文件描述符限制

编辑:

/etc/security/limits.conf

添加:

* soft nofile 65535
* hard nofile 65535

Apache 用户也要生效(www-data)。


二、Apache 模块优化(非常重要)

1. 关闭无用模块

查看已启用模块:

apache2ctl -M

常见可关闭的模块:

  • auth_basic
  • status(生产可关)
  • autoindex
  • negotiation
  • userdir

禁用示例:

a2dismod autoindex negotiation userdir

三、MPM 模式选择(核心)

1. 查看当前 MPM

apache2ctl -V | grep MPM

Debian 常见:

  • prefork(兼容 PHP,慢)
  • worker
  • event(推荐)

2. 切换到 event MPM(推荐)

a2dismod mpm_prefork
a2enmod mpm_event

编辑配置:

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

示例(4核8G):

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

四、KeepAlive 与超时优化

编辑:

/etc/apache2/conf-available/optimize.conf
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

Timeout 30

启用:

a2enconf optimize

五、静态资源与缓存

1. 开启压缩(gzip)

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

2. 浏览器缓存

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>

六、PHP 优化(如使用 PHP)

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

apt install php-fpm
a2enmod proxy_fcgi
a2enconf php8.2-fpm

禁用 prefork PHP:

a2dismod php8.2

2. PHP-FPM 配置

/etc/php/8.2/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

七、日志优化

1. 减少日志量

CustomLog ${APACHE_LOG_DIR}/access.log combined env=!dontlog

2. 关闭 HostnameLookups

HostnameLookups Off

八、安全与稳定性

a2enmod headers
ServerTokens Prod
ServerSignature Off

九、压测验证

apt install apache2-utils
ab -n 1000 -c 100 http://localhost/

观察:

  • Requests per second
  • Failed requests
  • 内存占用

十、推荐组合(生产环境)

✅ Debian + Apache2 + mpm_event
✅ PHP-FPM
✅ gzip + expires
✅ 关闭无用模块


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

  • 服务器配置(CPU / 内存)
  • 是否用 PHP / WordPress / Laravel
  • 访问量级别

我可以给你一份 针对性的 Apache 配置模板。

0 踩