ThinkPHP框架在Linux下的部署步骤如下:
环境准备
sudo apt update && sudo apt install php php-fpm php-mysql php-mbstring php-xml php-curl nginx -y # 安装PHP及扩展、Nginx
sudo apt install composer # 安装Composer
部署ThinkPHP项目
composer create-project topthink/think tp6 # 创建项目,目录名可自定义
wget https://example.com/thinkphp6.x.zip
unzip thinkphp6.x.zip -d /var/www/html/tp6 # 解压至Web根目录
配置Web服务器
/etc/nginx/sites-available/thinkphp):server {
listen 80;
server_name yourdomain.com;
root /var/www/html/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;
}
}
启用配置并重启Nginx:sudo ln -s /etc/nginx/sites-available/thinkphp /etc/nginx/sites-enabled/
sudo systemctl restart nginx
mod_rewrite模块,确保项目根目录有.htaccess文件(内容参考框架默认配置)。关键配置调整
.env文件中的数据库参数(如主机、用户名、密码)。sudo chown -R www-data:www-data /var/www/html/tp6 # 确保Web用户拥有权限
sudo chmod -R 755 runtime # 运行时目录需可写
启动服务与验证
sudo service nginx restart # 或 sudo service apache2 restart
http://yourdomain.com/tp6,查看是否显示框架默认页面。优化与安全
config/app.php中app_debug为false。.env文件访问:通过Nginx配置禁止直接访问(可选)。常见问题:
fastcgi_pass路径正确。try_files指令,支持PATHINFO。参考来源: