温馨提示×

LNMP如何优化Debian

小樊
41
2026-08-14 20:45:03
栏目: 智能运维

在 Debian 上优化 LNMP(Linux + Nginx + MySQL/MariaDB + PHP),需要从 系统、Nginx、MySQL、PHP、网络、安全 等多个层面进行配置。下面给你一套实战型优化方案,适合生产环境。


一、系统层面优化(Debian)

1. 更新系统 & 内核参数

apt update && apt upgrade -y

编辑内核参数:

vi /etc/sysctl.conf

推荐配置:

net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

vm.swappiness = 10
vm.overcommit_memory = 1

生效:

sysctl -p

2. 文件描述符限制

vi /etc/security/limits.conf

添加:

* soft nofile 65535
* hard nofile 65535

二、Nginx 优化

1. worker 进程优化

worker_processes auto;
worker_rlimit_nofile 65535;

events {
    worker_connections 10240;
    use epoll;
}

2. 连接 & 缓冲优化

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;

    keepalive_timeout 65;
    keepalive_requests 10000;

    client_max_body_size 50m;
    client_body_buffer_size 128k;

    open_file_cache max=200000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
}

3. Gzip 压缩

gzip on;
gzip_comp_level 5;
gzip_min_length 1k;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss;

三、MySQL / MariaDB 优化

1. 使用 MariaDB(推荐)

apt install mariadb-server -y

2. 配置文件优化

编辑:

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

通用优化(2–8G 内存示例)

[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT

max_connections = 300
table_open_cache = 2000
query_cache_size = 0
query_cache_type = 0

tmp_table_size = 64M
max_heap_table_size = 64M

内存越大,innodb_buffer_pool_size 可设到 60–70% RAM


3. 关闭不必要的服务

systemctl disable mysql

(如非必须)


四、PHP 优化(PHP-FPM)

1. PHP-FPM 进程管理

编辑:

vi /etc/php/8.x/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
pm.max_requests = 1000

高并发可改为:

pm = static
pm.max_children = 80

2. PHP 基础优化

upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
max_execution_time = 120

五、Nginx + PHP-FPM 优化

1. Unix Socket(比 TCP 快)

fastcgi_pass unix:/run/php/php8.x-fpm.sock;

PHP-FPM:

listen = /run/php/php8.x-fpm.sock
listen.owner = www-data
listen.group = www-data

六、缓存优化(非常重要)

1. 启用 OPCache

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=0

2. Redis(可选)

apt install redis-server php-redis -y

用于:

  • 会话缓存
  • 数据库缓存
  • WordPress / Laravel 缓存

七、安全 & 稳定性

1. 防火墙

apt install ufw
ufw allow 22,80,443/tcp
ufw enable

2. Fail2ban

apt install fail2ban -y

3. 关闭无用服务

systemctl disable bluetooth
systemctl disable cups

八、性能测试

1. Nginx 压力测试

apt install apache2-utils
ab -n 10000 -c 200 http://yourdomain.com/

2. MySQL 测试

mysqltuner

九、LNMP 优化总结(速查表)

项目 建议
Nginx worker + epoll + keepalive
PHP OPCache + PHP-FPM socket
MySQL InnoDB Buffer Pool
系统 文件句柄 + TCP 参数
缓存 Redis / OPCache
安全 UFW + Fail2ban

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

  • 服务器内存大小
  • CPU 核数
  • 网站类型(WordPress / Laravel / API)

我可以给你一套 精准定制版 LNMP 配置

0