温馨提示×

thinkphp在ubuntu上的部署流程是什么

小樊
53
2025-09-27 14:38:57
栏目: 编程语言

ThinkPHP在Ubuntu上的部署流程

1. 前提准备

确保Ubuntu服务器已完成基础配置(如系统更新),并具备**Web服务器(Nginx/Apache)、PHP环境、数据库(MySQL/MariaDB)**三大核心组件。可通过以下命令快速检查版本:

php -v # 确认PHP版本≥7.0(ThinkPHP 6.x需≥7.2) nginx -v # 若使用Nginx apache2 -v # 若使用Apache mysql --version # 确认数据库服务已安装 

2. 安装基础环境

2.1 安装PHP及扩展

ThinkPHP依赖PHP的多项扩展,需通过以下命令安装核心组件:

sudo apt update sudo 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(原生驱动,性能更优)。

2.2 安装Web服务器(以Nginx为例)
sudo apt install nginx -y sudo systemctl start nginx sudo systemctl enable nginx # 设置开机自启 
2.3 安装Composer(PHP依赖管理工具)
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer 

3. 配置Web服务器

3.1 Nginx配置(推荐)

创建专属站点配置文件(如thinkphp.conf),并添加以下内容:

sudo nano /etc/nginx/sites-available/thinkphp 
server { listen 80; server_name your_domain_or_ip; # 替换为域名或公网IP root /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-available/thinkphp /etc/nginx/sites-enabled/ sudo nginx -t # 测试配置语法 sudo systemctl restart nginx 
3.2 Apache配置(可选)

若使用Apache,需启用mod_rewrite并创建虚拟主机:

sudo a2enmod rewrite sudo systemctl restart apache2 

创建配置文件(如thinkphp.conf):

sudo nano /etc/apache2/sites-available/thinkphp.conf 
<VirtualHost *:80> ServerName your_domain_or_ip DocumentRoot /var/www/html/thinkphp/public <Directory /var/www/html/thinkphp/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> 

启用配置并重启Apache:

sudo a2ensite thinkphp.conf sudo systemctl restart apache2 

4. 部署ThinkPHP项目

4.1 上传项目文件

通过FTP(如FileZilla)、SCP或Git将项目文件上传至服务器/var/www/html/目录(如thinkphp文件夹)。

4.2 安装项目依赖

进入项目根目录,执行Composer安装:

cd /var/www/html/thinkphp composer install --no-dev --optimize-autoloader # 生产环境禁用开发依赖 
4.3 配置数据库

编辑.env文件(位于项目根目录),修改数据库连接信息:

DB_TYPE=mysql DB_HOST=127.0.0.1 DB_NAME=your_database_name DB_USER=your_database_user DB_PASSWORD=your_database_password DB_PORT=3306 
4.4 设置目录权限

确保Web服务器用户(通常为www-data)对项目目录有读写权限:

sudo chown -R www-data:www-data /var/www/html/thinkphp sudo chmod -R 755 /var/www/html/thinkphp sudo chmod -R 775 /var/www/html/thinkphp/runtime # 运行时目录需可写 

5. 启动与测试

5.1 启动服务
sudo systemctl restart nginx # 或apache2 sudo systemctl restart php8.1-fpm # 根据PHP版本调整 
5.2 访问项目

在浏览器输入http://your_domain_or_ip,若看到ThinkPHP欢迎页面,则部署成功。

6. 优化与安全(可选)

  • 关闭调试模式:编辑config/app.php,将app_debug设为false
  • 配置HTTPS:使用Let’s Encrypt免费证书,提升数据传输安全。
  • 开启OPcache:编辑php.ini,启用opcache.enable=1,加速PHP执行。
  • 定期备份:备份项目文件与数据库,防止数据丢失。

通过以上步骤,ThinkPHP项目即可在Ubuntu服务器上稳定运行。若遇到权限问题或路由失效,可检查Nginx/Apache配置中的try_files指令及目录权限设置。

0