https://learnku.com/articles/24917
和许多国内 PHP 程序员一样,最早接触服务器部署就是依靠 一键 Web 管理面板。
常见 Web 面板
目前市面上流行的面板很多,例如:
前前后后几年开发过程中,以上四款面板我均有过深度使用,个人比较喜欢 AMH 和 AppNode。
宝塔是这个圈子里的后起之秀,16 年才开始做面板。不过凭借着相对美观的 UI,以及长期免费、简单易用等优势,抢占了不少零基础用户。
安装宝塔
注意:由于兼容性原因,建议需要使用宝塔面板的用户采用 CentOS 7 系统。本小节将基于该系统进行部署。
登录服务器,执行以下命令即可:
$ wget -O install.sh http://download.bt.cn/install/install.sh $ bash install.sh
其中,第一条命令是下载一键安装脚本;第二条命令则是执行脚本。
稍等片刻,出现以下提示:
Do you want to install Bt-Panel to the /www directory now?(y/n):
意为询问你是否现在安装宝塔面板到 /www 目录?请输入 y 继续。
随后大概需要 2 分钟左右安装,会有一大堆输出,我们不必关注。
注意:安装过程中,请保证优良的网络环境,若 SSH 连接断开则需要重新来过。
若安装成功,你将会看到如下输出:
================================================================== Congratulations! Installed successfully! ================================================================== Bt-Panel: [管理面板 URL] username: [宝塔面板用户名] password: [宝塔面板密码] Warning: If you cannot access the panel, release the following port (8888|888|80|443|20|21) in the security group
请记住此处的面板 URL、用户名和密码,稍后我们会用到。
注意:这里的用户名是宝塔面板的专用用户名,并非 root;密码也与 SSH 连接服务器时使用的密码不同,请勿混淆。
注意:若出现无法安装、报错等问题,请到宝塔官方论坛进行提问,或联系其官方寻求技术支持。由于闭源,我无法提供任何帮助。
安全组
为了能够打开 Web 面板的管理页面,需在云服务商管理页面配置安全组,放行 8888 端口,这里有几篇来自宝塔的官方说明可供参考:
- 阿里云:https://www.bt.cn/bbs/thread-2897-1-1.html
- 腾讯云:https://www.bt.cn/bbs/thread-1229-1-1.html
- 华为云:https://www.bt.cn/bbs/thread-3923-1-1.html
你也可以查看云服务商的帮助文档,或是寻求技术支持。
登录管理页
好了,现在你可以打开先前安装成功后展示的面板 URL(通常为 http://<服务器公网IP>:8888),输入用户名、密码并登录。
安装运行环境
登录成功后,将出现默认提示:
这类似于国产安卓机首次打开应用市场时推荐的「装机必备」,你可以根据需要快速选择需要安装的组件。作为演示,我采用 LNMP,并安装以下组件的指定版本:
LNMP = Linux + Nginx + MySQL + PHP
确认无误后,点击 一键安装 即可。
可以看到,宝塔面板已开始自动调度并在后台执行安装任务了:
你可能会发现 CPU 使用率、系统负载迅速飙高,不必担心,这是正常现象。
由于安装过程是完全后台的,所以可以随意关闭这个窗口甚至浏览器,断网也没关系。重新登录后,点击左上角的数字(例如 3⃣️)即可回到安装进度:
安装耗时可能在数分钟到数小时不等,以日常经验来看,喝杯咖啡是足够的。
当你发现左上角的橙底数字变为 0⃣️,或是看到类似下图的页面:
即说明运行环境已经安装完成了。
配置运行环境
首先,请在宝塔管理页面单击左侧菜单内的 网站:
点击 添加站点:
输入域名等信息,若没有域名可使用服务器公网 IP 代替:
注意:如果你的服务器位于国内,则必须备案后才可通过域名访问;详情请自行搜索「网站备案」。
确认无误后点击 提交,站点即可创建成功:
接下来,请在浏览器内输入服务器的公网 IP(或域名)并打开:
出现类似以上页面,说明运行环境配置成功,接下来可以上传代码、部署项目了。
部署项目
我们首先来尝试最直接的方式 —— 将代码打包成压缩包并上传至服务器解压。
注意:在生产环境中这样做很危险!请关注后续章节。
在开始之前,请在你本地的系统中将示例 Laravel 应用打包为 .zip 压缩包。
随后,在刚刚的列表内,点击新站点的对应目录:
跳转至文件管理后,请点击左上角的 上传 按钮:
选择刚刚打包的 Zip 文件,上传;稍等片刻即可上传成功:
回到文件列表,找到该压缩包并解压:
在弹出窗口内点击 解压 即可。解压成功后,点击解压后的文件夹,全选文件并点击右上角的 剪切:
回到上层目录点击右上角的 粘贴所有,将所有文件移动到网站根目录。
最后,我们还需要进行一些特殊配置,点击左侧菜单内的 网站,找到我们的站点,点击右侧的 设置 按钮。
选择设置窗口左侧的 网站目录,运行目录一项请选择 /public 并保存:
在 伪静态 内,选择 Laravel 5 并保存:
最终效果
在浏览器内刷新运行环境配置成功的页面,你将会看到 Laravel 应用的默认主页:
恭喜你,部署成功。
为什么是宝塔?
上文说到,我个人并不十分喜欢宝塔。相比它,AMH 和 AppNode 代码更加规范可靠,扩展性也更好。但使用一键 Web 面板就是图个简单易用,后续文章介绍的方案将会比 AMH 具有更大的优势,如果你觉得宝塔不够好,说明 Web 面板已经不适合你了,请继续阅读吧。