发布于2026-07-27 阅读(0)
扫一扫,手机访问
在Ubuntu上部署ThinkPHP项目,其实并没有想象中那么复杂。只要把基础环境搭好,再跟着配置走一遍,基本上就能跑起来。下面来一步步拆解这个过程。
动手之前,先确保Ubuntu服务器已经完成了基础配置(比如系统更新),并且具备三大核心组件:Web服务器(Nginx/Apache)、PHP环境、数据库(MySQL/MariaDB)。可以用下面这些命令快速检查一下版本:

php -v # 确认PHP版本≥7.0(ThinkPHP 6.x需≥7.2)nginx -v # 若使用Nginxapache2 -v # 若使用Apachemysql --version# 确认数据库服务已安装
ThinkPHP对PHP扩展有依赖,核心组件需要一次性装齐:
sudo apt updatesudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
注:如果用的是PHP 8.x,记得把
php-mysql换成php-mysqlnd——原生驱动,性能更好。
sudo apt install nginx -ysudo systemctl start nginxsudo systemctl enable nginx# 设置开机自启
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer
创建一个专属的站点配置文件,比如thinkphp.conf,然后添加下面的内容:
sudo nano /etc/nginx/sites-a vailable/thinkphp
server {listen 80;server_name your_domain_or_ip;# 替换为域名或公网IProot /var/www/html/thinkphp/public;# ThinkPHP项目public目录index index.php index.html;location / {try_files $uri $uri/ /index.php?$query_string;# 路由转发}location ~ .php$ {include snippets/fastcgi-php.conf;fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;# 根据PHP版本调整fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}# 可选:禁止访问敏感目录location ~ /(vendor|runtime)/ {deny all;}}
启用配置并重启Nginx:
sudo ln -s /etc/nginx/sites-a vailable/thinkphp /etc/nginx/sites-enabled/sudo nginx -t# 测试配置语法sudo systemctl restart nginx
如果要用Apache,记得先启用mod_rewrite,再创建虚拟主机:
sudo a2enmod rewritesudo systemctl restart apache2
创建配置文件(如thinkphp.conf):
sudo nano /etc/apache2/sites-a vailable/thinkphp.conf
ServerName your_domain_or_ipDocumentRoot /var/www/html/thinkphp/publicOptions Indexes FollowSymLinksAllowOverride AllRequire all granted
启用配置并重启Apache:
sudo a2ensite thinkphp.confsudo systemctl restart apache2
通过FTP(比如FileZilla)、SCP或者Git,把项目文件传到服务器/var/www/html/目录下,可以新建一个thinkphp文件夹。
进入项目根目录,执行Composer安装:
cd /var/www/html/thinkphpcomposer install --no-dev --optimize-autoloader# 生产环境禁用开发依赖
编辑.env文件(位于项目根目录),修改数据库连接信息:
DB_TYPE=mysqlDB_HOST=127.0.0.1DB_NAME=your_database_nameDB_USER=your_database_userDB_PASSWORD=your_database_passwordDB_PORT=3306
这一步很关键——确保Web服务器用户(通常是www-data)对项目目录有读写权限:
sudo chown -R www-data:www-data /var/www/html/thinkphpsudo chmod -R 755 /var/www/html/thinkphpsudo chmod -R 775 /var/www/html/thinkphp/runtime# 运行时目录需可写
sudo systemctl restart nginx# 或apache2sudo systemctl restart php8.1-fpm# 根据PHP版本调整
在浏览器输入http://your_domain_or_ip,如果看到ThinkPHP的欢迎页面,那就说明部署成功了。
config/app.php,把app_debug设为false。php.ini,启用opcache.enable=1,加速PHP执行。按照上面这些步骤操作,ThinkPHP项目在Ubuntu上就能稳定运行了。如果遇到权限问题或者路由失效,不妨回头检查一下Nginx/Apache配置中的try_files指令,以及目录权限设置——往往是这两个地方容易出问题。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8