宝塔面板部署项目步骤
照着做完,你能把一个本地跑通的 Web 项目完整搬到云服务器上,并用域名正常访问。
下面以宝塔面板 Linux 版 9.x(CentOS 7 / Ubuntu 22.04 均可)为例,从零走一遍部署流程。假设你手里已经有一台云服务器(阿里云、腾讯云都行),并且已经装好了系统。
第一步:安装宝塔面板
这一步要拿到面板的登录地址、账号和密码。用 SSH 工具(Xshell、FinalShell 或终端)连上服务器,用 root 账号执行对应系统的一条命令:
CentOS:
url=https://download.bt.cn/install/install_lts.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_lts.sh $url;fi;bash install_lts.sh ed8484bec
Ubuntu / Debian:
wget -O install.sh https://download.bt.cn/install/install_lts.sh && bash install_lts.sh ed8484bec
安装过程中输入 y 回车,等待 2–5 分钟,屏幕最后会输出「外网面板地址」「username」「password」三行信息,把它们复制保存下来。
注意:云服务器安全组必须放行 8888 端口(面板默认端口)和后面的 80、443 端口,否则浏览器打不开面板。安全组在云厂商控制台的「安全组 / 防火墙」里配置,宝塔面板里的防火墙是另一层,两个都要放行。
第二步:安装运行环境
这一步装好 Nginx、MySQL、PHP,让服务器具备跑网站的能力。浏览器打开面板地址登录,首次进入会弹出「推荐安装套件」窗口,选择「LNMP 编译安装」:
- Nginx 1.24
- MySQL 5.7(项目用 MySQL 8 就选 8.0)
- PHP 8.1(按项目要求选,7.4 / 8.0 都常见)
- phpMyAdmin 5.2
点「一键安装」,编译安装大约 20–40 分钟,可以关掉页面去干别的,装完面板右上角会提示。如果首次弹窗关了,就从左侧菜单「软件商店」→「运行环境」里单独安装。
注意:MySQL 和 PHP 的版本必须和项目本地开发时一致或更高兼容,比如本地用 PHP 7.4 写的代码,直接上 PHP 8.1 很容易报错。不确定就先装 7.4。
第三步:添加站点
这一步把域名和服务器上的目录绑定起来。左侧菜单点「网站」→ 顶部「添加站点」按钮,弹出窗口里填:
- 域名:
www.example.com,一行一个,也可以只填example.com - 根目录:保持默认
/www/wwwroot/www.example.com - FTP:不创建
- 数据库:选 MySQL,会自动帮你建库建用户,把库名、用户名、密码记下来
- PHP 版本:选第二步装的那个
点「提交」,站点列表里就出现了一条记录。
第四步:上传项目代码
这一步把本地代码放到站点根目录。两种方式:
方式一(推荐):本地把项目打成 zip,点站点右侧「根目录」进入文件管理,点「上传」,传完右键压缩包选「解压」。
方式二:本地用 FTP 工具(FileZilla)连接,主机填服务器 IP,端口 21,账号密码是第三步建的 FTP 账号(如果建了的话)。
解压后确认入口文件位置:如果项目是 Laravel、ThinkPHP 这类,入口在 public 目录,就在站点设置「网站目录」里把「运行目录」改成 /public 并保存。
注意:上传前先在本地把
.env、数据库配置文件里的连接信息改成服务器上的库名、用户名、密码,localhost保持不动。改完再传,省得来回折腾。
第五步:导入数据库
这一步把本地数据搬上服务器。点左侧「数据库」,找到第三步自动创建的库,点右侧「管理」进入 phpMyAdmin,用库对应的账号登录,选「导入」,上传本地导出的 .sql 文件,点「执行」。
如果数据量大(超过 50MB),phpMyAdmin 容易超时,改用命令行:
mysql -u 库用户名 -p 库名 < /www/wwwroot/你的目录/backup.sql
注意:导入前先在本地导出时勾选「结构和数据」,字符集选
utf8mb4,否则中文容易变乱码。
第六步:配置伪静态
这一步解决「除了首页,其他页面全 404」的问题。点站点右侧「设置」→「伪静态」,按框架选:
- ThinkPHP:选
thinkphp - Laravel:选
laravel5 - WordPress:选
wordpress
保存后立即生效。
第七步:放行端口并申请 HTTPS
左侧「安全」菜单里放行 80、443(如果项目用其他端口,比如 Node 的 3000,也在这里加)。然后回到站点「设置」→「SSL」→「Let's Encrypt」,勾选域名,点「申请」,几十秒后自动签发并部署,同时可以打开「强制 HTTPS」。
注意:Let's Encrypt 申请要求域名已经解析到这台服务器,并且 80 端口能被公网访问。解析没生效就去申请,一定会失败。
第八步:验证
浏览器访问你的域名。首页正常、能登录、能查询数据,就算部署完成。如果报 500,去站点「设置」→「网站日志」看错误信息;如果是「502 Bad Gateway」,多半是 PHP 版本不对或 PHP-FPM 没启动,在「软件商店」里重启对应 PHP 版本即可。
小结
- 安装面板后,安全组和面板防火墙两处都要放行端口
- 运行环境的版本(Nginx / MySQL / PHP)要和项目要求对齐
- 添加站点时顺手建库,省一次配置
- 代码上传前先改好数据库配置文件
- 框架项目必须配伪静态,入口在 public 的还要改运行目录
- HTTPS 申请的前提是域名已解析、80 端口通
原文链接:https://www.gj0.com/thread-1166.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。