温馨提示×

怎样优化debian apache

小樊
41
2026-09-03 10:45:58
栏目: 智能运维

优化 Debian 上的 Apache(通常是 Apache2)可以从系统层面、Apache 配置、模块管理、安全与缓存几个方面入手。下面按实用程度整理一份优化清单,适合生产或高并发环境。


一、基础系统与内核优化

1. 更新系统

apt update && apt upgrade -y

2. 调整文件描述符限制

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

3. 内核参数(高并发)

# /etc/sysctl.conf
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
sysctl -p

二、Apache 核心配置优化

1. 选择合适的 MPM(非常重要)

查看当前 MPM:

apachectl -V | grep MPM

推荐:

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

启用 event:

a2dismod mpm_prefork
a2enmod mpm_event

2. 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   5000
</IfModule>

三、关闭无用模块(减少内存)

查看已启用模块:

apachectl -M

常见可关闭:

a2dismod status
a2dismod autoindex
a2dismod cgi

四、启用缓存与压缩

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"
</IfModule>

五、PHP 环境优化(如使用 PHP)

推荐:PHP-FPM

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

关闭:

a2dismod php8.x

六、安全与日志优化

1. 关闭目录列表

Options -Indexes

2. 限制访问

<Directory /var/www/html>
    AllowOverride All
    Require all granted
</Directory>

3. 日志优化

LogLevel warn

七、使用 HTTPS 与 HTTP/2

a2enmod http2 ssl

虚拟主机:

Protocols h2 http/1.1

八、性能检测工具

  • apachectl -t(配置检查)
  • htop
  • ab 压力测试:
ab -n 1000 -c 100 http://localhost/

九、极端优化建议(进阶)

  • 使用 Nginx + Apache(Nginx 处理静态)
  • 使用 OPcache(PHP)
  • 使用 Redis / Memcached
  • 使用 CDN

如果你能提供:

  • Debian 版本
  • Apache 版本
  • 是否使用 PHP / 数据库
  • 网站类型(博客 / API / 商城)

我可以给你一套针对性配置方案。

0 踩