天天看点

[Linux]经典面试题 - 服务管理 - Nginx

目录

Nginx 简介

Nginx 应用场景

反向代理

负载均衡

动静分离

Nginx 安装过程

yum安装

下载编译

安装验证

Nginx 配置文件

查找目录

配置结构

配置详情

参考:

尚硅谷Nginx教程由浅入深(一套打通丨初学者也可掌握)_哔哩哔哩_bilibili

Nginx 配置详解 | 菜鸟教程 (runoob.com)

(总结)Nginx配置文件nginx.conf中文详解 (ha97.com)

Nginx是一款轻量级的Web服务器、反向代理服务器,作为中间件同时也提供了IMAP/POP3/SMTP服务,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

[Linux]经典面试题 - 服务管理 - Nginx

正向代理,代理的是客户端,将客户端隐藏起来,通过代理访问外部服务。

[Linux]经典面试题 - 服务管理 - Nginx

反向代理,代理的是服务器,将服务器隐藏起来,通过反代对外提供服务。

[Linux]经典面试题 - 服务管理 - Nginx

服务器硬件性能相同时,反向代理,轮询。(平均分配)

服务器硬件性能不同时,反向代理,加权轮询。(能者多劳)

[Linux]经典面试题 - 服务管理 - Nginx

静态页面和动态资源,分离在不同的服务器,通过反代将资源重定向至相应的服务器。

通过yum仓库安装:

基础操作:

先安装依赖包:

gcc、gcc-c++:GNU Compiler Collection,GNU编译器套件,包括C、C++、Java、GO语言前端等,也包括了这些语言的库(libstdc++,libgcj等)

make:make 是一个命令工具,它解释 Makefile 中的规则,在 Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。

autoconf:是一个shell脚本的工具,可以自动地配置软件源代码包以适应多种UNIX类系统。由autoconf生成的配置脚本在运行的时候不需要用户的手工干预;通常它们甚至不需要手工给出参数以确定系统的类型。其中autoconf需要用到m4,便于生成脚本。

automake:是一个从文件Makefile.am自动生成Makefile.in的工具。每个Makefile.am基本上是一系列make的宏定义。生成的Makefile.in,服从GNU Makefile标准。为了生成Makefile.in,automake还需用到perl(它本身就是一个perl程序)。

pcre、pcre-devel:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。

zlib、zlib-devel:zlib是提供数据压缩用的函式库。

openssl、openssl-devel:OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

官方网站:nginx: download

切换到nginx目录:

解压:

编译配置,生成makefile:

编译:

安装:

防火墙放行:

[Linux]经典面试题 - 服务管理 - Nginx

查找配置文件所在目录:

初始化的配置文件结构如下

/etc/nginx/nginx.conf

nginx.conf文件主要分为五块:全局块、events块、http块、server块、location块

全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

http块:可嵌套多个server,配置代理、缓存、日志定义等绝大多数功能和第三方模块的配置。例如文件定义、日志自定义、是否使用sendfile传输文件,连接超时时间,但连接请求数等。

server块:配置虚拟主机的相关参数,一个http中可以由多个server。

location块:配置请求的路由,以及各种页面的处理情况。