轻松部署 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年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4

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

5年前 评论

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

5年前 评论

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

5年前 评论

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

4年前 评论

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