温馨提示×

ubuntu上thinkphp项目部署步骤

小樊
56
2025-09-02 21:36:24
栏目: 编程语言

以下是在Ubuntu上部署ThinkPHP项目的核心步骤:

1. 环境准备

  • 安装基础软件

    sudo apt update && sudo apt install nginx php-fpm php-mysql php-mbstring php-xml php-curl -y  
    

    (根据项目需求选择PHP版本,如php8.0-fpm

  • 安装Composer

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

2. 配置Web服务器(以Nginx为例)

  • 创建站点配置文件

    sudo nano /etc/nginx/sites-available/your_project  
    

    添加以下内容(替换/path/to/your/project和域名):

    server {  
        listen 80;  
        server_name your_domain.com;  
        root /path/to/your/project/public;  
        index index.php index.html;  
    
        location / {  
            try_files $uri $uri/ /index.php?$query_string;  
        }  
    
        location ~ \.php$ {  
            fastcgi_pass unix:/run/php/php8.0-fpm.sock; # 根据实际PHP版本调整  
            fastcgi_index index.php;  
            include fastcgi_params;  
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
        }  
    
        location ~ /\.ht {  
            deny all;  
        }  
    }  
    

    ()

  • 启用配置并重启Nginx

    sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled/  
    sudo nginx -t && sudo systemctl restart nginx  
    

3. 部署ThinkPHP项目

  • 上传项目文件
    通过FTP/SCP将项目文件上传至服务器指定目录(如/var/www/your_project),确保public目录可访问。

  • 设置目录权限

    sudo chown -R www-data:www-data /path/to/your/project  
    sudo chmod -R 755 /path/to/your/project  
    

4. 配置数据库

  • 安装MySQL(如未安装)

    sudo apt install mysql-server  
    sudo systemctl start mysql  
    sudo mysql_secure_installation  
    
  • 修改项目数据库配置
    编辑.envconfig/database.php,填入数据库连接信息(主机、用户名、密码、数据库名)。

5. 启动项目

  • 直接通过Nginx访问
    确保项目入口文件public/index.php可访问,浏览器输入域名或IP即可查看。

  • 可选:使用Supervisor管理进程(适用于生产环境):
    安装Supervisor并配置守护进程(参考)。

6. 常见问题排查

  • 502 Bad Gateway:检查PHP-FPM是否运行,确认Nginx中fastcgi_pass路径正确。
  • 路由失效:确保Nginx配置中try_files规则正确,且location /块包含/index.php?$query_string
  • 权限问题:通过chownchmod确保Web服务器用户(www-data)可读写项目文件。

完成以上步骤后,ThinkPHP项目即可在Ubuntu服务器上正常运行。

0