山滚云

在阿里云服务器部署的tp5网站

分类: 阿里云常识作者:时间:2026-04-22 06:51:29浏览量:35℃

在阿里云服务器上部署 ThinkPHP 5(TP5)项目,核心思路是配置好 PHP 环境,并将网站根目录指向项目的 /public 子目录。这一步非常关键,但仅靠它还不够,通常还需要配置伪静态规则和目录权限,才能让网站顺利跑起来。

我为你整理了两种部署方式,你可以根据自己的技术水平来选择:

🚀 方案一:宝塔面板部署(新手友好)
这是图形化的方式,操作直观,不用敲太多命令。核心就是装好面板 -> 添加站点 -> 设置目录 -> 配好规则。

前期准备:安装并登录宝塔面板

如果还没安装,可以参考阿里云官方文档,在服务器上安装宝塔面板。

安装成功后,通过浏览器访问面板地址并登录。

详细部署步骤

上传项目:在宝塔面板左侧菜单点击“文件”,进入你希望的网站根目录(如 /www/wwwroot/),将你的 TP5 项目文件夹上传至此处。

添加站点:在左侧菜单点击“网站”,然后点击“添加站点”。填写你的域名,如果暂时没有,也可以用服务器公网 IP 加端口的形式,如 http://你的公网IP:88 进行测试。

设置运行目录:添加站点后,点击网站右侧的“设置”,在“网站目录”页签中,将“运行目录”指向 /public 并保存。

配置伪静态:在同一个设置页面,点击“伪静态”页签。你可以直接在下拉菜单中选择 thinkphp 规则,或手动填入以下 Nginx 规则:

nginx
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
配置数据库:在宝塔面板左侧菜单点击“数据库”,创建 TP5 项目需要的数据库和用户,并将数据库配置信息填入项目的 .env 文件或 config/database.php 中。

⌨️ 方案二:手动配置环境(技术进阶)
适合熟悉 Linux 命令行的开发者,可以让你对服务器环境有更精细的控制。

安装 LAMP / LNMP 环境

连接服务器:使用 SSH 工具(如 Xshell、Putty)连接到你的阿里云 ECS 实例。

安装基础服务:根据你熟悉的环境,安装 Nginx(或 Apache)、PHP、MySQL。以 CentOS 系统安装 Nginx 和 PHP-FPM 为例:

bash
sudo yum update -y
sudo yum install nginx php php-fpm php-mysqlnd -y
关键配置:

PHP 版本:务必确保 PHP 版本 ≥ 7.0,因为 TP5.0 及更高版本需要 PHP 7.0 以上才能正常运行。

PHP 扩展:确保已安装并启用 PDO_MYSQL, MBSTRING, JSON 等扩展。

Web 服务器配置:将网站根目录指向 TP5 项目的 public 文件夹,并配置好对应的伪静态规则。

Apache:将项目中的 .htaccess 文件(位于 public 目录下)的内容替换为以下内容:

apache
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
</IfModule>
Nginx:修改站点配置文件,在 location / {} 中添加以下代码:

nginx
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
开放所需端口

别忘了在阿里云控制台的“安全组”中,放行 Web 服务所需的端口(如 HTTP 80、HTTPS 443,以及可能用到的 SSH 22 端口)。

⚠️ 重点难点:排查常见部署错误
部署过程中遇到报错很正常,以下是一些典型问题的解决方法,可以参考排查:

常见错误 可能的原因 解决方案
访问出现 404 网站目录未指向 public,或伪静态规则未生效。 首先检查宝塔的“网站目录”是否指向 public,并确认已配置正确的伪静态规则。
File not found PHP pathinfo 扩展未开启。 在宝塔面板“软件商店”找到已安装的 PHP 版本,在“设置”中安装并启用 pathinfo 扩展。
No input file specified. Nginx 的 PATH_INFO 配置不正确,常见于入口文件 index.php 后的路径参数无法解析。 在 Nginx 站点配置中,在 location ~ \.php$ 内添加 fastcgi_param PATH_INFO $path_info; 来启用 PATH_INFO 支持。
STORAGE_WRITE_ERROR 主要是 runtime 目录没有写入权限。 登录服务器,进入项目根目录执行:chmod -R 755 runtime(注意:755 是多数情况下的推荐权限,但生产环境建议按 750 等更严格的权限设置)。
数据库连接失败 .env 或 database.php 中的数据库配置信息与阿里云数据库不符。 仔细核对数据库主机地址、端口、用户名、密码和数据库名是否完全一致。
访问后台或部分页面 403 文件和目录的权限设置不当。 避免设置 777 权限,可设置为 755 或 750,并确保文件所有者为 www 用户(Web 服务运行用户)。
💎 总结与建议
总的来说,把 TP5 项目成功部署到阿里云服务器,关键在于理清下面这个流程:

确保 PHP 版本 ≥ 7.0,并开启 pathinfo 扩展。

将网站根目录指向 public 子目录。

正确配置 Nginx/Apache 的伪静态规则。

赋予 runtime 目录写权限。

【上一篇】
【下一篇】

相关推荐

找我们购买阿里云,可以享受
售前购买建议,官网+代理双重优惠,官网+代理双重售后服务!

蜗牛云是最高级阿里云代理商,代理阿里云所有代理商可以代销的产品,包括:阿里云服务器,轻量应用服务器,阿里云数据库,阿里云邮箱,阿里云安全,阿里云CDN等阿里云相关产品

业务范围:阿里云代理,阿里云腾讯云华为云最新活动,虚拟主机,VPS云服务器 ,阿里云腾讯云华为云服务器推荐   微信:ganshangwoniu    QQ:549233124    业务咨询热线:177-2050-9380

   Copyright © 2008-2026 阿里云代理商版权所有   

QQ在线咨询
阿里云代理商微信号