轻松部署 Laravel 应用 | 《04. 手动部署 - 初始化系统》

:clap: 本系列持续更新中,欢迎关注:https://github.com/wi1dcard/laravel-deploy...

由于课程上下文关联比较紧密,在开始前请先阅读 本文

你的支持是我写作的动力;关注我的客官们,请在右上角点个赞,将会让文章在首页展示,帮助更多人。

感谢 :clap: !

从本节开始,我将带领大家从零开始 手动部署,基本流程请参见上一节文末。

在开始之前,我们需要一台全新的 Ubuntu Bionic 18.04 LTS 服务器,请在云服务商管理页面初始化系统磁盘。

注意:若服务器存有关键数据,务必先备份!

更新软件源

登录到服务器,我们首先要做的就是更新软件源:

$ apt update

注意:这里所说的「更新软件源」并非升级软件,在中文内更加准确的描述应当是 刷新软件源。在这个过程中,包管理器(也就是 APT,可以理解为「软件管家」之类)将会从 软件源 服务器上获取一份最新的包列表并建立本地缓存,包括软件名称、描述、最新版本、下载地址等等。

你将会看到类似这样的输出:

Get:1 http://mirrors.cloud.aliyuncs.com/ubuntu xenial InRelease [247 kB]
Get:2 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-updates InRelease [109 kB]
Get:3 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-security InRelease [109 kB]
...

稍等片刻即可刷新完毕,最后有可能提示:

186 packages can be upgraded. Run 'apt list --upgradable' to see them.

意为有 186 个软件包可升级,执行 apt list --upgradable 命令来查看它们。

我们暂且忽略,直接升级:

$ apt upgrade

注意:生产环境下,更新任何软件包前都需要仔细检查,确保更新日志内没有影响现有环境的改动。另外,你也可以先不升级,对后续部署基本没有影响。

你将会看到一大坨(是的,一坨)输出,它们是将被升级的软件列表;注意关注最后几行:

186 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 249 MB of archives.
After this operation, 331 MB of additional disk space will be used.
Do you want to continue? [Y/n]

意为此操作将占用 331 MB 磁盘空间。此时输入 Y(注意关闭中文输入法),或直接回车即可开始升级。主流云服务厂商均有缓存软件源,数据流量是通过内网传输,所以该过程不会太慢。

本地化配置

所谓「本地化配置」,可理解为系统时区、单位、地址、语言等配置的统称。使其能够符合某一地区的习惯。虽然我们的母语是中文,但还是建议将服务器配置为英语,尽可能避免奇葩乱码等问题带来的影响。

首先,执行以下命令生成美国本地化数据:

$ locale-gen en_US.UTF-8

随后将本地化配置修改为 en_US.UTF-8 即可:

$ update-locale LC_ALL=en_US.UTF-8

如果服务器在国外,则服务商可能不会将其配置为东八区;我们还需手动修改时区为 Asia/Shanghai

timedatectl set-timezone Asia/Shanghai

若你是在国内云服务商租用的服务器,那么极有可能时区已经配置好了。

至此,系统初始化阶段完成。

为何与一键脚本有出入?

细心的话,你可能会注意到上节一键脚本的代码中并非使用 apt 命令,而是 apt-get。虽然看起来很像,但是它们的确不是同一种东西。

那么为何手动部署执行的命令与一键脚本不统一呢?其实,后续课程中仍然会存在这些差异,不过不必担心,这是出于多方面考虑权衡后的结果。站在我的角度上来说,我更加推荐你使用手动部署中所讲解的命令和参数;原因正如上一节中提到的,脚本中的命令可能不够完善或是已经过时。所以,请跟着课程继续进行吧。

本作品采用《CC 协议》,转载必须注明作者和本文链接
Former WinForm and PHP engineer. Now prefer Golang and Rust, and mainly working on DevSecOps and Kubernetes.
本帖由系统于 1年前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 4

大神,弱弱问句,centos 7 是不是不能跟着你教程做了

5年前 评论

@heibai_2018 应该不能完全照搬吧 但是思想 我觉得差不多

5年前 评论

@heibai_2018 CentOS 7 有所差距,但思想的确差不多。

5年前 评论

@Wi1dcard 公司来说的话,应该 centos 用的比较多

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
67
粉丝
592
喜欢
1236
收藏
1136
排名:13
访问:32.4 万
私信
所有博文
社区赞助商