温馨提示×

debian lamp怎么配置才稳定

小樊
41
2026-09-04 22:08:50
栏目: 智能运维

在 Debian 上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 并做到“稳定”,核心不是某个神秘参数,而是版本选择、服务隔离、资源限制、日志与监控。下面给你一套生产可用的稳定配置思路(以 Debian 11/12 为例)。


一、系统层面(地基要稳)

1. 使用稳定版 Debian

cat /etc/debian_version

推荐:

  • Debian 11 (Bullseye) ✅
  • Debian 12 (Bookworm) ✅(新项目首选)

❌ 不要用 testing / sid 跑生产


2. 基础加固

apt update && apt upgrade -y
apt install -y curl wget vim ufw fail2ban
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable

二、Apache 稳定配置

1. 安装

apt install -y apache2

2. 使用 mpm_event(不是 prefork)

a2dismod mpm_prefork
a2enmod mpm_event
a2enmod rewrite headers ssl

3. 关键配置:/etc/apache2/mods-enabled/mpm_event.conf

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

MaxConnectionsPerChild 防止内存泄漏


4. 超时与连接控制

vim /etc/apache2/conf-enabled/timeout.conf
Timeout 30
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

三、PHP 稳定配置(非常重要)

1. 使用 PHP-FPM(不要 mod_php)

apt install -y php-fpm php-cli php-mysql php-curl php-gd php-mbstring php-xml php-zip
a2enmod proxy_fcgi setenvif
a2enconf php-fpm

2. PHP-FPM 池配置(关键)

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

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 500

pm.max_requests 防止 PHP 内存泄漏


3. PHP 基础安全

upload_max_filesize = 20M
post_max_size = 20M
memory_limit = 128M
max_execution_time = 30
expose_php = Off

四、数据库(MariaDB 更稳定)

1. 安装

apt install -y mariadb-server
mysql_secure_installation

2. 基础稳定配置

/etc/mysql/mariadb.conf.d/50-server.cnf

[mysqld]
max_connections = 150
innodb_buffer_pool_size = 256M
query_cache_type = 0
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1

✅ 小内存机器别乱开 query cache


五、网站目录与权限(防乱)

mkdir -p /var/www/example.com/public
chown -R www-data:www-data /var/www/example.com
chmod -R 755 /var/www

Apache 虚拟主机:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com/public
    <Directory /var/www/example.com/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

六、日志 & 监控(稳定靠观察)

1. 日志位置

  • Apache:/var/log/apache2/
  • PHP-FPM:/var/log/php*fpm.log
  • MariaDB:/var/log/mysql/

2. 基础监控

apt install -y htop netdata

或最少装:

apt install -y logwatch

七、常见“不稳定”原因总结

问题 原因
内存爆 prefork + 高并发
网站卡死 PHP 无 max_requests
数据库崩 buffer pool 太大
被入侵 目录 777
随机 503 Apache/PHP 连接数不匹配

八、一句话总结

Debian LAMP 稳定 = Apache(event) + PHP-FPM + MariaDB + 合理连接数 + 日志监控

如果你愿意,我可以:

  • 按你**服务器内存(1G / 2G / 4G)**给你精确参数
  • 或帮你写一个一键稳定安装脚本
  • 或专门针对 WordPress / Laravel / 自有 PHP 项目优化

你现在是哪种用途?

0