温馨提示×

thinkphp在ubuntu怎样优化

小樊
37
2026-09-25 20:20:04
栏目: 编程语言

在 Ubuntu 上优化 ThinkPHP(以 ThinkPHP 5 / 6 为主,兼顾通用思路),可以从系统层、PHP 层、Web 服务器、ThinkPHP 自身、缓存与数据库几个方面入手。下面给你一套实用清单。


一、系统 & 环境层面

1. 使用合适版本的 PHP

ThinkPHP 6 推荐 PHP 7.4 / 8.1+

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.1 php8.1-fpm php8.1-cli

2. 关闭无用服务

减少系统开销:

systemctl disable --now apache2

(如果用 Nginx)


二、PHP 优化(关键)

编辑 PHP 配置(以 8.1 为例):

sudo vim /etc/php/8.1/fpm/php.ini

建议修改:

memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 20M
max_execution_time = 60
opcache.enable=1

启用 OPcache(非常重要)

sudo apt install php8.1-opcache

php.ini 中:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60

重启:

sudo systemctl restart php8.1-fpm

三、Web 服务器优化(Nginx 示例)

1. Nginx 配置优化

worker_processes auto;
worker_connections 1024;

fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;

gzip on;
gzip_min_length 1k;
gzip_comp_level 4;

2. 开启 PHP-FPM 静态/动态进程

/etc/php/8.1/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

四、ThinkPHP 自身优化

1. 开启生产模式

.env

APP_DEBUG = false

2. 路由缓存(TP6)

php think optimize:route

3. 配置缓存

php think optimize:config

4. 类库映射(TP5)

php think optimize:autoload

5. 使用单入口 + 路由

避免过多文件扫描。


五、缓存策略(性能提升最大)

1. 使用 Redis

sudo apt install redis-server
sudo apt install php8.1-redis

ThinkPHP 配置:

'cache' => [
    'type' => 'redis',
    'host' => '127.0.0.1',
]

2. 查询缓存

Db::name('user')->cache(60)->select();

六、数据库优化

  • 给常用查询字段加索引
  • 避免 SELECT *
  • 使用连接池(Swoole 场景)
  • 慢查询日志:
slow_query_log = 1
long_query_time = 1

七、进阶(高并发)

  • 使用 Swoole + ThinkPHP
  • 静态资源走 CDN
  • 使用 Supervisor 管理进程
  • 使用 Laravel Octane 类似思路(TP 可自封装)

八、常用检查命令

top
htop
php-fpm -i | grep opcache
ab -n 1000 -c 100 http://localhost/

如果你告诉我:

  • ThinkPHP 版本(5 / 6)
  • Web 服务(Nginx / Apache)
  • 并发量 / 服务器配置

我可以给你更精确的优化配置方案。

0 踩