Day25-好用的网页服务器-nginx(一)

前言

系列文也来到尾声了,终於要进入最後一个观念:Nginx 了,有了前面 K8s 的观念其实就可以开始建立一个自己的网站了,但是还记得笔者有提到前端的网页其实是由一个又一个的静态档组成,本身是没有一个可以去跑这些静态档的 server,总不可能上去网页还要跑 npm run dev 之类的指令来运行前端网页吧XD

这时候就需要运用一些网页服务器来让这些静态档可以顺利地被运行,而在前端的世界最多人使用的不外乎就是 Nginx 这套工具了吧,所以接下来笔者就要来说明一下 Nginx 的相关观念。

什麽是 Nginx

Nginx 是非同步框架的网页服务器,也可以用作反向代理服务器、负载平衡器,简单来说只要是任何跟网页服务器、流量管理有关的通通都交给 Nginx 来管理就好,是个非常方便的工具,此外由於 Nginx 具备高度模组化的设计,模组编写简单,以及设定档简洁等等优点,让 Nginx 的市占率越来越高了。

其实在 Nginx 开始崛起之前不晓得大家有没有听过 Apache 这个工具,其实 Apache 也是一套用来当作网页服务器的工具很常搭配 PHP 一起做使用,但相信使用过 Apache 的读者应该都会觉得 Apache 实在是太吃效能,而且在读取静态档的速度也没有说很优秀,根据国外的评测在 Nginx 使用的记忆体比 Apache 少得多,每秒可以处理的 request 数量大约高於 Apache 四倍。

上图可以看到 Nginx 在每秒能处理的 request 数量远远大於 Apache,所以这也是为什麽 Nginx 的市占率越来越高的原因,还记得笔者在前面的文章在介绍 Ingress Controller 时也提到了 Nginx,连 K8s 自己的 Ingress Controller 都使用 Nginx 了,想必这个工具在整个 DevOps 中可以说是必学的吧XD

Nginx 安装

Nginx 的安装方式有很多种,既然前面都学了 Docker,当然这边就要利用 Docker 来启动 Nginx 这个工具。

首先要利用 docker pull 这个指令把最新版的 Nginx 抓下来。

之後就可以打上 docker run 的指令将 Nginx image 跑起来。

一样可以下 docker ps 看看 Nginx container 有没有顺利跑起来。

之後就可以在网页打上根据服务器上的 /etc/hosts 档案设定的 domain 来测试看看是否 Nginx 有顺利跑起来。

解析 Nginx container 内容

首先我们先利用 docker exec 这个指令进入 Nginx 的 container。

这边有两个特别重要的资料夹,一个是 etc/nginx 另一个是 usr/share/nginx/html,在 etc/nginx 这个资料夹摆放了 Nginx 官方预设的 nginx.conf 设定档,当然我们也可以自己客制化出自己的 nginx.conf 并且映射到对应的资料夹,至於这个 nginx.conf 要怎麽撰写呢?在明後两天的文章笔者会分别带入前端以及後端不同的写法给各位读者。

至於另一个 usr/share/nginx/html 资料夹,里面则摆放了 index.html 以及 50x.html,这两份 html 档分别对应了预设的显示画面以及错误画面。

接下来我们简单的修改一下 index.html 吧!

然後回到刚刚的画面重新整理後发现画面真的变了,所以就代表着 Nginx 真的是一个网页服务器,可以启动一个服务器来运行静态的 html 档。

小结

今天介绍了 Nginx 的相关基本观念,希望能让读者更了解这个好用的网页服务器工具,其实 Nginx 能把玩的东西非常多,这边笔者会拆成前端的玩法以及後端的玩法一一介绍给读者,也才能增加点铁人赛的篇幅XD

如果对於文章有任何问题都欢迎留言给我,接下来就要准备介绍前端的 nginx.conf 写法,那我们就下一篇文章见喽~


<<:  【Day 25】又绕!又绕!又绕 ETW! - Bypass ETW

>>:  Day24 React专案资料夹分类方式

16 综观各校资工系修课蓝图

资讯工程学系(Computer Science and Information Engineerin...

人生的十字路口,选择自己想走的路

了解各个工具的特性,并相互运用 讲完EC2的架构图以及介绍後,首先会介绍有哪些AWS服务可以去建置部...

爱用iPhone的设计师可以多恐怖?

(我想到的这个标题真的很误导人。因为「不是只有爱用iPhone的设计师会有这些毛病。」) 下面这是在...

[Day11]什麽是智慧合约?

智慧合约是一种可以让你避免有中间人介入的合约。如果你想要签约买车、买房子,都需要透过仲介、业务销售...

绘制 Skybox

大家好,我是西瓜,你现在看到的是 2021 iThome 铁人赛『如何在网页中绘制 3D 场景?从 ...