在 Debian 上配置 ThinkPHP 运行环境
一 准备与安装基础组件
- 更新索引并安装基础软件:
- sudo apt update && sudo apt upgrade -y
- sudo apt install -y nginx mysql-server composer
- 查看可用的 PHP 版本并安装(示例为 PHP 8.2;如为 7.4/8.1/8.3,将版本号替换为实际值):
- apt-cache policy php
- sudo apt install -y php php-cli php-fpm php-mysql php-mbstring php-xml php-curl php-zip php-gd php-bcmath
- 启动并开机自启 PHP-FPM 与 Nginx:
- sudo systemctl enable --now php8.2-fpm nginx
- 验证安装:
- php -v
- sudo systemctl status php8.2-fpm nginx
说明:ThinkPHP 可在 Linux 上稳定运行,建议组合为 Nginx + PHP-FPM + MySQL,并使用 Composer 管理依赖。
二 部署 ThinkPHP 项目
- 放置代码(推荐将站点根目录指向项目的 public 目录):
- sudo mkdir -p /var/www/your_project
- 将项目文件上传至该目录(如使用 git 或 scp)
- 安装依赖与初始化目录权限:
- cd /var/www/your_project
- composer install --optimize-autoloader --no-dev
- sudo chown -R www-data:www-data /var/www/your_project
- sudo chmod -R 755 /var/www/your_project
- sudo chmod -R 775 /var/www/your_project/runtime
- 配置数据库连接(以 .env 或 config/database.php 为准,示例为 .env):
- DB_CONNECTION=mysql
- DB_HOST=127.0.0.1
- DB_PORT=3306
- DB_DATABASE=your_db
- DB_USERNAME=your_user
- DB_PASSWORD=your_password
- 创建数据库与用户(示例 SQL):
- CREATE DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- CREATE USER ‘your_user’@‘localhost’ IDENTIFIED BY ‘your_password’;
- GRANT ALL PRIVILEGES ON your_db.* TO ‘your_user’@‘localhost’;
- FLUSH PRIVILEGES;
- 开发环境可选:启动内置服务器进行快速验证
- php think run --host 0.0.0.0 --port 8000
说明:确保 public 为 Web 可访问根目录,安装依赖后设置 runtime 可写,生产环境关闭调试模式。
三 配置 Web 服务器
- Nginx 配置示例(站点根目录指向 public,隐藏入口 index.php)
- Apache 配置要点(如选择 Apache)
四 生产环境与安全加固
- 关闭调试与优化:
- 将应用配置中的 app_debug 设为 false(如 config/app.php 或 .env)
- 设置 APP_ENV=production
- 目录与权限:
- 确保 runtime、storage 等可写目录权限最小化(如 775/755,属主 www-data)
- 启用 HTTPS(Let’s Encrypt 示例,Apache):
- sudo apt install certbot python3-certbot-apache
- sudo certbot --apache -d your_domain_or_ip
- 防火墙与端口:
- 如使用 UFW:sudo ufw allow ‘Nginx Full’(或 ‘Apache Full’)
- 日志排查:
- Nginx:/var/log/nginx/error.log
- Apache:/var/log/apache2/error.log
说明:生产环境务必关闭调试、限制写入权限、启用 HTTPS,并通过日志快速定位问题。