linux

Linux服务器上ThinkPHP部署指南

小樊
43
2025-05-21 21:58:57
栏目: 云计算

在Linux服务器上部署ThinkPHP项目是一个相对直接的过程,但需要确保所有必要的组件都已正确安装和配置。以下是一个详细的部署指南:

环境准备

  1. 安装基础软件
sudo apt update && sudo apt upgrade -y
sudo apt install php php-fpm php-mysql php-mbstring php-xml php-curl -y
sudo apt install nginx -y
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
  1. 配置Web服务器
server {
    listen 80;
    server_name yourdomain.com;
    root /path/to/tp6/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }
}
sudo ln -s /etc/nginx/sites-available/thinkphp.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

ThinkPHP安装

  1. Composer创建项目(推荐):
composer create-project topthink/think tp6 cd tp6
  1. 手动下载: 从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
  1. 目录权限: 确保运行时目录可写:
chmod -R 755 runtime
chown -R www-data:www-data runtime
  1. 调试模式: 开发阶段开启调试:
APP_DEBUG=true

常见问题解决

  1. 502 Bad Gateway: 检查PHP-FPM是否运行:
sudo systemctl status php-fpm

确认Nginx配置中的 fastcgi_pass 路径正确。

  1. 路由失效: 确保服务器支持PATHINFO,Nginx需包含 try_files $uri $uri/ /index.php?$query_string;

部署优化建议

通过以上步骤,您应该能够在Linux服务器上成功部署ThinkPHP项目。如果在部署过程中遇到任何问题,请参考官方文档或社区最佳实践进行排查。

0
看了该问题的人还看了