温馨提示×

ubuntu lamp怎样优化

小樊
37
2026-10-04 00:49:14
栏目: 智能运维

在 Ubuntu 上优化 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 通常可以从 系统层、Apache、MySQL、PHP、缓存和安全 几个方面入手。下面给你一套比较实用、可落地的优化方案。


一、系统层优化(基础)

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 调整文件描述符限制

编辑:

sudo nano /etc/security/limits.conf

添加:

* soft nofile 65535
* hard nofile 65535

3. 禁用不必要的服务

systemctl list-unit-files --type=service

关闭不需要的服务(如 bluetooth、cups 等)。


二、Apache 优化

1. 选择合适的 MPM

查看当前 MPM:

apache2ctl -V | grep MPM

推荐配置

  • 低内存服务器:prefork
  • 高并发:event(推荐)

启用 event:

sudo a2dismod mpm_prefork
sudo a2enmod mpm_event

2. 优化 MPM 配置

编辑:

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

示例(2G–4G 内存):

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

3. 开启 KeepAlive(适度)

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

4. 启用压缩

sudo a2enmod deflate

配置:

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

5. 开启缓存

sudo a2enmod expires
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
</IfModule>

三、MySQL / MariaDB 优化

1. 使用配置工具(推荐)

sudo apt install mysqltuner
mysqltuner

按建议修改配置。

2. 常见优化(my.cnf)

编辑:

sudo nano /etc/mysql/my.cnf

示例(4G 内存):

[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
max_connections = 200
query_cache_size = 0
query_cache_type = 0
tmp_table_size = 64M
max_heap_table_size = 64M

MySQL 8 已移除 query cache

3. 慢查询日志

slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1

四、PHP 优化

1. 使用 PHP-FPM(推荐)

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

2. 调整 PHP-FPM

sudo nano /etc/php/*/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

3. 关闭危险函数(安全+性能)

disable_functions = exec,passthru,shell_exec,system

五、缓存方案(非常重要)

1. 启用 OPcache

sudo apt install php-opcache
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000

2. 应用层缓存

  • WordPress:Redis / Memcached
  • 通用:Redis
sudo apt install redis-server

六、安全与稳定

  • 开启 UFW 防火墙
sudo ufw allow 22,80,443/tcp
sudo ufw enable
  • 禁止 root SSH 登录
  • 定期备份数据库和网站目录

七、性能监控工具

htop
iotop
netdata

总结(最简优化路线)

  1. Apache 用 event + PHP-FPM
  2. 开 OPcache
  3. MySQL 调 innodb_buffer_pool_size
  4. 用 Redis 缓存
  5. 开 Gzip + 浏览器缓存

如果你能告诉我:

  • 服务器内存(如 2G / 4G / 8G)
  • 是否 WordPress / Laravel / 自建系统
  • 访问量大概多少

我可以给你一份精准配置模板。

0 踩