Nginx配置知识点梳理

2022-12-24 1567阅读

温馨提示:这篇文章已超过488天没有更新,请注意相关的内容是否还可用!

Nginx 是最流行的服务器 Web 和反向代理服务器。 反向代理是指用代理服务器接受互联网上的连接请求在线代理服务器,然后将请求转发给内网的服务器,并将从服务器得到的结果返回给互联网上请求连接的客户端,代理服务器作为反向代理外部代理服务器。 此外在线代理服务器,它在高并发方面也有出色的表现。

Nginx 是一个轻量级的 Web 服务器和反向代理服务器,基于 REST 架构风格,以统一资源描述符 URI 或统一资源定位器 URL 作为通信基础,通过 HTTP 协议提供各种网络服务。 由于其内存占用小、启动速度极快、并发能力高等特点,被广泛应用于互联网项目中。

整体介绍

Nginx 是一个免费、开源、高性能的 HTTP 服务器和反向代理服务器; 它还是一个 IMAP、POP3、SMTP 代理服务器; Nginx可以作为网站发布处理的HTTP服务器,Nginx可以作为反向代理服务器,通过代理实现负载均衡。

1.反向代理

反向代理对架构的理解如下:

Nginx配置知识点梳理

反向代理(Reverse Proxy)模式是指代理服务器接受互联网上的连接请求,然后将请求转发给内网服务器,并将服务器得到的结果返回给互联网上请求连接的客户端,在此时,代理服务器对外充当反向代理服务器。

如图,保存配置文件后启动Nginx,这样当我们访问XX.XX.X.XXX时,就相当于访问了XX.XX.X.XXX:80。

2.负载均衡

负载均衡理解图:

Nginx配置知识点梳理

负载均衡的原理是将数据流量分配给多台服务器执行,减轻每台服务器的压力,让多台服务器(集群)共同完成工作任务,从而提高数据吞吐量,多用于高并发场合。 可用的负载均衡策略有:round robin(默认)、weight、ip_hash、url_hash(第三方)、fair(第三方)。

Nginx配置知识点梳理

如图,保存配置文件后启动Nginx,这样当我们访问XX.XX.X.XXX/umc时,相当于访问XX.XX.X.XXX:1010或XX.XX.X.XXX :1010 ,因为Nginx会自动判断服务器的状态。 如果服务器处于不可访问(服务器宕机)状态,则不会跳转到该服务器,这样也避免了服务器宕机影响使用的情况。

3.动静分离

Nginx 本身也是一个静态资源服务器。 当只有静态资源时,可以使用Nginx作为服务端。 同时通过Nginx可以实现现在流行的动静分离。 首先,我们把Nginx看成一个静态资源服务器。

如图,如果访问IP,默认会访问上面指定路径下的index.html。 如果一个网站只是一个静态页面,你可以用这种方式部署它。

动静分离常用于前后端分离。 Nginx提供的动静分离,指的是动态请求和静态请求的分离。 合适的服务器处理相应的请求,使得整个服务器系统的性能和效率更高。 Nginx可以根据配置转发不同的请求,这是动态分离的基础。 静态请求对应的静态资源可以直接放在Nginx上做缓冲,更好的办法是放在对应的缓冲服务器上。 动态请求由相应的后端服务器处理。

安装配置

本次以Nginx1.14.2版本为例,在Linux服务器环境上进行安装部署。 具体操作如下:

一、环境准备

安装制作:

安装 g++:

安装 pcre 和 pcre-devel:

安装zlib zlib提供了很多压缩和解决方法,nginx需要zlib来gzip http:

安装openssl openssl 是一个安全套接字层密码库。 为了支持https,nginx需要使用openssl:

2.安装配置

下载 nginx:

转到文件夹:

解压:

打开文件路径:

编译文件:

Nginx配置知识点梳理

安装:

更改配置文件:

方法二:也可以直接通过xftp将nginx.conf文件上传到该位置,注意备份原文件:

让配置立即生效:

3.执行开始

进入sbin目录:

启动 nginx::

停止命令:

高可用性配置

Keepalived是一种高可用解决方案,主要用于防止服务器单点故障,与Nginx配合可以实现web服务的高可用。

一、环境准备

使用以下命令安装 Keepalived:

设置为系统服务:

关闭SElinux,配置keepalived相关配置:

进入后,进行如下修改:

Nginx配置知识点梳理

修改完成后,配置立即生效:

修改keepalived配置,master和slave的区别用黄色高亮显示:

备份:cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak:

Nginx配置知识点梳理

Nginx配置知识点梳理

2.脚本配置

配置 chk_nginx.sh 文件:

添加以下内容:

Nginx配置知识点梳理

授权脚本:

修改防火墙,增加对虚拟IP的监控:

Nginx配置知识点梳理

3.启动和停止服务

启动keepalived服务:

停止keepalived服务:

经验

本项目中Nginx的配置,促使我在网络层面有了一定的了解,尤其是Nginx的几个核心功能,包括反向代理、负载均衡等,但这只是开始,还有很多学习。 以下是后续规划、做事方法、迭代更新的总结。

一、后续规划

每次搭建K8S集群环境,都配置了Nginx,不过都是在模仿猫狗而已。 他们只是获取配置文件并使用它。 他们不理解配置文件中每一段代码的含义。 它们只配置某个关键字段信息。 通过这次知识点梳理,学到了很多,但是学无止境,对nginx的理解还不够,比如设置权重,正向代理等,理解不够全面,后续逻辑in-需要深入研究每一行代码。

2.做事的方法

通过平时工作过程中对技能点的不经意记录,在写这篇文章的过程中,再次理清了自己的逻辑。 在后续工作中,将文档分类整理,如教程内容、错误信息及解决方案、知识点等,方便大家更新迭代自己的知识。 快速搜索。 笔者认为,编写文档不仅不会浪费时间,而且通过文档编写为我提供了很多帮助,比如代码复用、类似错误信息的快速调试等,节省了大量时间。

3.迭代更新

最近在一些项目的配置过程中,遇到了内网80端口和外网端口ESB服务默认携带外网配置端口的问题。 解决这个问题是写这篇文档的主要原因。 具体解决办法是通过配置nginx 两台服务器,通过监听不同的端口指向不同的服务器来解决这个问题,但是在工作过程中,发现有时候逻辑不清晰,尤其是在网络层面。 认识严重不足,后续还需继续深入了解。

随着自身专业知识的不断积累,知识意识也不断提高。 回过头来看自己以前记录的工作文件,会发现漏洞很多。 这时,我需要再次完善工作文件。 在完善的过程中,我将自己初学时的理解与现在的理解进行了对比,可以体会到自己当时有哪些不足,思维逻辑得到了怎样的提升。 技术和认知在不断更新,工作文档也在不断更新。 在这个不断迭代更新的过程中,我的知识点在不知不觉中连成了一条线。

本文由@数通易联原创,欢迎转发,仅供学习交流,转载请注明出处! 谢谢~

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]