温馨提示×

如何在 Ubuntu 优化 ThinkPHP

小樊
35
2026-10-07 11:29:09
栏目: 编程语言

下面从系统层、PHP 层、ThinkPHP 层、数据库与缓存、运维几个维度,系统说明在 Ubuntu 上优化 ThinkPHP(5 / 6 / 8 均适用) 的实用方案。


一、Ubuntu 系统层优化

1. 使用合适的 Ubuntu 版本

  • 推荐使用 Ubuntu 22.04 / 24.04 LTS
  • 升级系统:
sudo apt update && sudo apt upgrade -y

2. 文件描述符与内核参数

编辑:

sudo nano /etc/security/limits.conf

添加:

* soft nofile 65535
* hard nofile 65535

优化内核:

sudo nano /etc/sysctl.conf
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
vm.swappiness = 10
sudo sysctl -p

二、PHP 优化(最关键)

1. 使用 PHP 8.1+(推荐 8.2 / 8.3)

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-redis php8.2-opcache

2. PHP-FPM 优化

编辑:

sudo nano /etc/php/8.2/fpm/pool.d/www.conf

关键参数:

pm = dynamic
pm.max_children = 120
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30

3. OPCache 开启(非常重要)

sudo nano /etc/php/8.2/fpm/conf.d/10-opcache.ini
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=0  # 生产环境

三、Web 服务器优化(Nginx 推荐)

1. Nginx 配置优化

worker_processes auto;
worker_connections 10240;

gzip on;
gzip_min_length 1k;
gzip_comp_level 5;
gzip_types text/css application/javascript application/json;

2. 关闭 ThinkPHP 调试

.env

APP_DEBUG = false

四、ThinkPHP 自身优化

1. 开启路由缓存(TP6 / TP8)

php think optimize:route

2. 配置缓存

php think optimize:config

3. 使用 Redis 缓存

.env

CACHE_TYPE = redis
CACHE_HOST = 127.0.0.1
CACHE_PORT = 6379

安装 Redis:

sudo apt install redis-server

4. 关闭不必要的中间件

app/middleware.php 中只保留必要中间件。


五、数据库优化(MySQL)

1. 基本参数

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
innodb_buffer_pool_size = 1G
query_cache_type = 0
slow_query_log = 1

2. ThinkPHP 中使用索引 + 预加载

User::with('profile')->select();

六、静态资源 & CDN

  • 使用 Nginx 直接处理静态文件
  • JS / CSS / 图片走 CDN
  • 开启浏览器缓存

七、生产环境部署建议

  • 使用 Supervisor + PHP-FPM
  • 日志分级(避免 IO 瓶颈)
  • 定期清理 runtime
php think clear

八、性能检测工具

  • ab / wrk
  • 黑色框 top / htop
  • php think trace
  • Redis MONITOR

如果你愿意,可以告诉我: ✅ ThinkPHP 版本
✅ Ubuntu 版本
✅ 并发量 / 项目规模

我可以给你一套针对性优化配置。

0 踩