在云服务器上部署 ThinkPHP(以 ThinkPHP 5 或 ThinkPHP 6 为例)时,需要根据其运行环境进行相应的配置。以下是详细的部署步骤和所需配置:
✅ 一、基础环境要求
1. 操作系统推荐
- Linux(如 CentOS、Ubuntu、Debian 等)
- Windows Server(不推荐用于生产环境)
推荐使用 CentOS 7+ / Ubuntu 20.04 LTS。
✅ 二、软件环境配置
1. Web 服务器
你可以选择以下任意一种:
- Nginx(推荐)
- Apache
- IIS(仅限 Windows)
2. PHP 环境(版本要求)
| ThinkPHP 版本 | PHP 要求 |
|---|---|
| ThinkPHP 5.0 | >= 5.4 |
| ThinkPHP 5.1 | >= 5.6 |
| ThinkPHP 6.0 | >= 7.1 |
| ThinkPHP 8.0 | >= 8.0 |
建议使用 PHP 7.4 或 PHP 8.0(性能更好)
必须安装的 PHP 扩展:
opcache(提升性能)fileinfoexif(图片处理)socketsswoole(可选,用于 Swoole 服务)gd(图像处理)mbstringpdo_mysql(数据库连接)curljsonopenssl
你可以通过命令检查是否安装:
php -m | grep "扩展名"
3. 数据库(可选但常见)
- MySQL 5.6+
- MariaDB
- PostgreSQL(根据项目需求)
✅ 三、上传项目文件
将你的 ThinkPHP 项目上传到服务器,通常上传到网站根目录,例如:
/var/www/html//home/wwwroot/your_project/
确保项目结构完整,尤其是以下几个关键目录:
application/public/(入口目录)think(框架核心文件)
✅ 四、配置 Web 服务器(以 Nginx 为例)
编辑站点配置文件(如:/etc/nginx/conf.d/your_domain.conf),配置如下内容:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名
root /var/www/html/public; # 项目 public 目录
index index.php index.html;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
location ~ .php$ {
fastcgi_pass unix:/run/php/php-fpm.sock; # 根据实际路径调整
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ .(gif|jpg|jpeg|png|css|js)$ {
expires 30d;
}
}
重启 Nginx 生效:
systemctl restart nginx
✅ 五、设置运行权限
确保 runtime 和 logs 目录有写入权限(TP5)或 runtime 目录(TP6):
chmod -R 755 /path/to/project/runtime
chmod -R 755 /path/to/project/logs
如果是 TP6,还需要给 env 文件设置正确的权限:
chmod 644 /path/to/project/.env
✅ 六、配置 .env 文件(TP6 推荐方式)
如果你用的是 ThinkPHP 6,默认使用 .env 文件来配置数据库、调试模式等:
APP_DEBUG = true
LOG_LEVEL = 'error'
[APP]
DEFAULT_TIMEZONE = 'Asia/Shanghai'
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = your_db_name
USERNAME = your_db_user
PASSWORD = your_db_pass
HOSTPORT = 3306
CHARSET = utf8mb4
DEBUG = true
✅ 七、开启伪静态(URL重写)
对于 ThinkPHP 的 URL 伪静态支持(去掉 index.php):
- Apache:默认支持
.htaccess - Nginx:上面已经配置了 rewrite 规则
- IIS:需要导入
web.config文件
✅ 八、测试访问
访问你的域名,例如:
http://yourdomain.com/
如果看到欢迎页面或项目首页,说明部署成功。
✅ 九、安全建议
- 开发完成后关闭调试模式(
.env中设置APP_DEBUG=false) - 隐藏入口文件(防止直接访问
index.php) - 设置防火墙规则,只开放必要端口(如 80、443)
- 使用 HTTPS(SSL证书)
✅ 十、一键部署工具推荐(可选)
- 宝塔面板(推荐新手)
- OneinStack
- LNMP.org 一键包
这些工具可以帮助你快速搭建 PHP 运行环境,省去手动配置的麻烦。
🧾 总结
| 项目 | 推荐配置 |
|---|---|
| 操作系统 | CentOS 7+/Ubuntu 20.04 |
| Web服务器 | Nginx |
| PHP版本 | 7.4 或 8.0 |
| 扩展 | opcache, mbstring, pdo_mysql, gd 等 |
| 数据库 | MySQL 5.6+ |
| 项目入口 | public 目录 |
| 伪静态 | 启用 URL 重写 |
| 权限 | runtime、logs 可写 |
| 调试模式 | 上线后关闭 |
如果你提供具体的 ThinkPHP 版本号(如 TP5.1 或 TP6.0),我可以给出更针对性的配置建议。需要我帮你生成完整的配置文件吗?
云计算HECS