Nginx学习

本文详细介绍了Nginx的高性能特性,如高并发处理能力,以及其作为静态服务器、反向代理和负载均衡器的角色。讲解了Nginx的安装步骤、基本命令,以及配置文件结构。通过实例展示了如何配置反向代理、负载均衡和动静分离。此外,还探讨了Nginx的高可用性,强调了master-workers机制的优势。
摘要由CSDN通过智能技术生成

标题:Nginx学习

学习内容:

1、nginx的相关概述
2、nginx 安装以及简单的命令
3、nginx 配置文件以及如何配置
4、 nginx 高可用
5、nginx原理


内容详情:

1、nginx的相关概述

nginx

Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。

Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成

反向代理

暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。
在这里插入图片描述

负载均衡

增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器
在这里插入图片描述

动静分离

把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力
在这里插入图片描述

2、nginx 安装以及简单的命令

在官网下载,然后我用的是FileZilla传输到linux,然后linux下解压安装就好了
安装nigix之前,先安装这几个依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
官网:http://nginx.org/

简单的命令

查看版本号: ./nginx -v
启动命令:./nginx
关闭命令:./nginx -s stop
重新加载命令: ./nginx -s
查看开放的端口号:firewall-cmd --list-all
设置开放的端口号:
firewall-cmd --add-service=http –permanent
firewall-cmd --add-port=80/tcp --permanent
重启防火墙:firewall-cmd –reload

3、nginx 配置文件以及如何配置
nginx 的配置文件

配置文件中的内容包含三部分内容
(1)全局块:配置服务器整体运行的配置指令
比如 worker_processes 1;处理并发数的配置
(2)events 块:影响 Nginx 服务器与用户的网络连接
比如 worker_connections 1024; 支持的最大连接数为 1024
(3)http 块:代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。
还包含两部分:
http 全局块:http 全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。
server 块: 这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了
节省互联网服务器硬件成本。
每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。而每个 server 块也分为全局 server 块,以及可以同时包含多个 locaton 块。
全局 server 块: 最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或 IP 配置。
location 块: 一个 server 块可以配置多个 location 块。
这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例server_name/uri-string),对虚拟主机名称也可以是 IP 别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。

nginx 配置实例-反向代理

我们监听 80 端口,访问域名为 www.123.com,不加端口号时默认为 80 端口,故访问该域名时会跳转到127.0.0.1:8080 路径上。
在这里插入图片描述
还需要在windows的host下配置一下
在这里插入图片描述
原理分析
在这里插入图片描述

访问 http://127.0.0.1:9001/edu/ 直接跳转到 127.0.0.1:8081
访问 http://127.0.0.1:9001/vod/ 直接跳转到 127.0.0.1:8082

在这里插入图片描述

location 指令说明

该指令用于匹配 URL。
语法如下:
= :用于不含正则表达式的 URL 前,要求请求字符串与 URL 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
~:用于表示 URL 包含正则表达式,并且区分大小写。
~星: 用于表示 URL包含正则表达式,并且不区分大小写。
^~:用于不含正则表达式的 URL 前,要求 Nginx 服务器找到标识 URL 和请求字
符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 URL 和请求字符串做匹配。
注意:如果 URL 包含正则表达式,则必须要有 ~ 或者 ~* 标识。

nginx 配置实例-负载均衡

这里是引用
分配方式(策略):
第一种 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
第二种 weight
weight 代表权重默认为 1,权重越高被分配的客户端越多
第三种 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器
第四种 fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。

nginx 配置实例-动静分离

http://192.168.17.129/www/a.html
http://192.168.17.129/image/01.jpg
autoindex on 显示那个文件下的目录这里是引用

4、 nginx 高可用
nginx服务器宕机了的话就不能访问到Tomcat了。所以多搞两台,一台宕机就换另一台,继续访问Tomcat,达到高可用。
在这里插入图片描述
5、nginx原理

master-workers 的机制
在这里插入图片描述
在这里插入图片描述
一个master进程和多个workers进程
优点

可以使用 nginx –s reload 热部署,利用 nginx 进行热部署操作
每个 woker 是独立的进程,如果有其中的一个woker 出现问题,其他 woker 独立的, 继续进行争抢,实现请求过程,不会造成服务中断

worker 数和服务器的 cpu 数相等是最为适宜的

发送请求,占用了 woker 的几个连接数?

静态访问无需与Tomact建立连接:2个
动态访问:4个


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值