温馨提示×

Linux服务器上ThinkPHP部署步骤

小樊
56
2025-07-09 12:09:26
栏目: 云计算

在Linux服务器上部署ThinkPHP项目的步骤如下:

环境准备

  1. 更新软件包

    sudo apt update && sudo apt upgrade -y 
  2. 安装PHP及扩展

    sudo apt install php php-fpm php-mysql php-mbstring php-xml php-curl -y 
  3. 安装Nginx

    sudo apt install nginx -y 
  4. 安装Composer

    curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer 

配置Web服务器

使用Nginx

  1. 配置Nginx: 编辑 /etc/nginx/sites-available/default 文件,添加或修改以下内容:

    server { listen 80; server_name yourdomain.com; root /path/to/your/thinkphp/project; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.x-fpm.sock; } location ~ /\.ht { deny all; } } 
  2. 启用配置

    sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/ sudo systemctl restart nginx 

使用Apache

  1. 启用mod_rewrite

    sudo a2enmod rewrite sudo service apache2 restart 
  2. 配置.htaccess: 在项目根目录添加 .htaccess 文件:

    <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule> 

ThinkPHP安装

  1. 使用Composer创建项目(推荐):

    composer create-project topthink/think tp6 cd tp6 
  2. 手动下载: 从ThinkPHP官网下载完整版,解压至Web目录:

    wget https://example.com/thinkphp6.x.zip unzip thinkphp6.x.zip -d /var/www/html/ 

关键配置调整

  1. 数据库连接: 修改 .env 文件:

    DATABASE_TYPE=mysql DATABASE_HOSTNAME=127.0.0.1 DATABASE_NAME=dbname DATABASE_USERNAME=user DATABASE_PASSWORD=password DATABASE_PORT=3306 
  2. 目录权限

    chmod -R 755 runtime chown -R www-data:www-data runtime 
  3. 调试模式: 开发阶段开启调试:

    APP_DEBUG=true 

常见问题解决

  • 502 Bad Gateway:检查PHP-FPM是否运行,确认Nginx配置中的 fastcgi_pass 路径正确。
  • 路由失效:确保服务器支持PATHINFO,Nginx配置需包含 try_files $uri $uri/ /index.php?$query_string;

部署优化建议

  • 生产环境安全:关闭调试模式,限制 .env 文件访问。
  • 性能提升:开启OPcache,使用Redis缓存会话。
  • 自动化部署:结合Git钩子或CI/CD工具实现自动更新。

0