让我们更深入地了解Nginx-安装篇
首先
最近大多数情况下使用Nginx而非Apache,是吧。
因此,我打算将关于我稍微设置了解的Nginx的调查内容进行记录。
这篇文章的目标读者
- Nginxをゼロから設定してみたい人
并没有详细解释的事情
-
- dockerのコマンド
-
- linuxのコマンド
- RailsやLaravel、Djangoなどでの使い方
在本文中所提到的工作环境
-
- Mac Mini 2018
-
- mac OS BigSur(version 11.1)
-
- VirtualBox(version 6.1.16)
-
- Ubuntu 20.04(on VirtualBox)
- Docker(version 20.10.2)
Nginx是什么?
Nginx是一种用于Web服务器的软件。
它被称为一种在操作系统和应用程序之间运行的中间件。
同等功能的软件还有Apache和IIS等。
※尽管Apache和Nginx本身可以被称为”Web服务器”,但在本文中,”Web服务器”是指服务器主机。
正如下图所示,当用户或管理员请求Web系统时,能够准确返回结果的是由Web服务器应用程序驱动的。

让我们使用Docker创建一个用于Nginx实验的容器。
这次我们将在Ubuntu、CentOS和AmazonLinux2的映像上构建Nginx环境。
虽然DockerHub上有官方的Nginx映像,但这次我们不使用它。
要更详细地了解Nginx,最好是自己在空白的操作系统上进行安装,这样才能学到更多东西。
获取 Ubuntu 镜像并登录到容器里。
# ubuntuのDockerイメージを取得
$ docker pull ubuntu:latest
# イメージからコンテナを生成してデタッチドモード(バックグラウンド)で起動
$ docker run -itd --name ubuntu_nginx -p 8088:80 --privileged f63
# コンテナにログイン
$ docker exec -it b96 /bin/bash
只要您能够以root身份登录就可以了。
root@b96f5f7019a4:/#
获取CentOS镜像并登录到容器中。
# CentOSのDockerイメージを取得
# docker pull centos:latestとするとdebianのイメージがなぜか取得されるので注意!!
$ docker pull centos:centos8
# イメージからコンテナを生成してデタッチドモード(バックグラウンド)で起動
$ docker run -itd --name centos_nginx -p 8087:80 --privileged 300 /sbin/init
# コンテナにログイン
$ docker exec -it b96 /bin/bash
只要能够以root用户登录,就可以了。
root@b96f5f7019a4:/#
获取AmazonLinux2镜像,并登录到容器中。
# AmazonLinux2のDockerイメージを取得
$ docker pull amazonlinux:2
# イメージからコンテナを生成してデタッチドモード(バックグラウンド)で起動
$ docker run -itd --name amznlinux_nginx -p 8086:80 --privileged d79
# コンテナにログイン
$ docker exec -it b96 /bin/bash
只要您能按照以下步骤成功登录,就可以了。
bash-4.2#
让我们尝试在容器中安装nginx。
在这里,我们将在已登录的Docker容器内安装Nginx。
由于容器的操作系统初始状态下没有安装Nginx,所以需要自行安装。
在Ubuntu的容器中安装Nginx。
# まず、aptパッケージの更新を行います。
$ apt update
# 次に、Nginxをインストールします
# 途中で地域の選択を2回要求されるので、最初の地域はAsia、次の地域はTokyoの番号を入力してエンターを押してください。
$ apt install -y nginx
# Nginxのバージョンを確認します。
$ nginx -V
nginx version: nginx/1.18.0 (Ubuntu)
.
.
.
经过这些步骤,我们已经成功在Ubuntu上安装了Nginx。
在CentOS容器中安装Nginx。
# まず、yumパッケージの更新を行います
$ yum update -y
# Nginxをインストールします
$ yum install -y nginx
# Nginxのバージョンを確認します。
$ nginx -V
nginx version: nginx/1.14.1
.
.
.
通过这个步骤,在CentOS上成功安装了Nginx。
在 Amazon Linux 2 容器中安装 Nginx
# いきなりNginxをインストールします
$ amazon-linux-extras install -y nginx1
# Nginxのバージョンを確認します。
$ nginx -V
nginx version: nginx/1.18.0
.
.
.
通过这个,我们已经完成了在AmazonLinux2上安装Nginx的过程。
让我们来确认已安装的内容。
让我们来看看实际安装时所添加的文件。
在Ubuntu容器中进行确认
执行文件
/usr/sbin/nginx 可以翻译为 “/usr/sbin/nginx”
这个文件是被命令执行的程序的主体部分吧。
首页
/usr/share/nginx/html/index.html 的中文翻译如下:
当访问Nginx的初始页面时,将显示的HTML文件。
設定文件組的存儲目錄
/etc/nginx/可以进行如下的中文重述:
– Nginx的配置文件路径为/etc/nginx/。
在进行设置时,通常需要编辑该目录下的文件。
日志目录
/var/log/nginx/ 可以被改写成以下方式:
– /var/log/nginx/ -> Nginx的日志路径
在此目录下会创建访问日志和错误日志。
轮班设置文件
以下是对/etc/logrotate.d/nginx的本地化汉语翻译(只提供一种选择):
在Linux中,有一个名为LogRotate的功能可以进行日志分割。在这里,您可以定义分割Nginx日志的单位。
按模块分类的管理目录
/usr/lib/nginx/modules/ 可以被改写为:
/usr/lib/nginx/modules/
如果想给Web服务器添加特定的功能,可以使用此选项。
由于配置文件中包含了该目录的路径,请参阅另一篇文章中的配置部分以获取更详细的介绍。
在CentOS容器中进行确认。
几乎与Ubuntu的内容相同。
只需要一个选项,用汉语原生地复述以下内容:
执行文件
/usr/sbin/nginx可以进行重新配置。
这个文件是被命令执行的程序的主体。
最初的页面 de
/usr/share/nginx/html/index.html -> 网页目录:/usr/share/nginx/html/index.html
访问Nginx的初始页面时显示的HTML文件。
与Ubuntu不同的是,该目录下有以下文件。
-
- 404.html
-
- 50x.html
-
- nginx-logo.png
- poweredby.png
目录文件
/var/log/nginx/ 可以被改写成:/变量/日志/引擎/
在这个目录中,将会创建访问日志和错误日志。与Ubuntu不同,初始状态下目录是空的。
按模块分别管理的目录
/usr/lib64/nginx/modules/ 可以被翻译为 “nginx 模块所在路径”。
如果想要在Web服务器上添加特定功能,可以使用它。
与Ubuntu时的目录路径不同呢。
并不是说Ubuntu只能运行32位操作系统。
在AmazonLinux2容器中进行确认。
执行文件
/usr/sbin/nginx 可以被改写成 “nginx可执行文件的路径是/usr/sbin/nginx”。
这个文件是用命令运行的程序的主体部分。
最初的网页
/usr/share/nginx/html/index.html
/usr/share/nginx/html/首页.html
当访问Nginx的初始页面时,显示的是HTML文件。与CentOS时不同的是,在这个文件所在的目录下,有以下的目录。
-
- 404.html
-
- 50x.html
-
- nginx-logo.png
-
- poweredby.png
- icons
目录日志
/var/log/nginx/ 的中文描述是「Nginx 的日志路径」。
在这个目录下会创建访问日志和错误日志
这和CentOS是一样的
模块分类的管理目录。
/usr/lib64/nginx/modules/ can be paraphrased as:
nginx模块位于/usr/lib64/nginx/modules/
如果想在Web服务器上添加特定功能,可以使用这个。
这与CentOS相同吧。
下集继续
在这篇文章中,我们尝试在Ubuntu、CentOS和AmazonLinux2镜像上安装Nginx。
下一篇文章将介绍从启动到配置更改的步骤。
非常感谢您一直阅读到最后。