以下是在Ubuntu上部署ThinkPHP项目的核心步骤:
安装基础软件:
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
创建站点配置文件:
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
上传项目文件:
通过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
安装MySQL(如未安装):
sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql_secure_installation
修改项目数据库配置:
编辑.env
或config/database.php
,填入数据库连接信息(主机、用户名、密码、数据库名)。
直接通过Nginx访问:
确保项目入口文件public/index.php
可访问,浏览器输入域名或IP即可查看。
可选:使用Supervisor管理进程(适用于生产环境):
安装Supervisor并配置守护进程(参考)。
fastcgi_pass
路径正确。try_files
规则正确,且location /
块包含/index.php?$query_string
。chown
和chmod
确保Web服务器用户(www-data
)可读写项目文件。完成以上步骤后,ThinkPHP项目即可在Ubuntu服务器上正常运行。