ngix详解

news2024/11/15 15:48:46

ngix是什么

Nginx是一款轻量级、高性能的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

正向代理:

客户端访问服务器时,统一通过一个代理服务器把请求转发给服务器,此时代理的是客户端,即客户端时透明的,服务器不知道请求来自哪一个客户端。正向代理模式屏蔽或者隐藏了真实客户端信息。

反向代理:


此时请求的来源也就是客户端是明确的,客户端将请求发送给反向代理服务器,反向代理服务器去访问真实的服务器,但是请求具体由哪台服务器处理的并不明确了,此时代理的是服务端。

 

反向代理的优势:

  • 保证内网的安全,通常将反向代理作为公网访问地址,Web 服务器是内网。
  • 负载均衡,通过反向代理服务器来优化网站的负载。当我们有多个服务器时,ngix可以根据负载均衡的策略转发给不同的服务器,保证服务的可用。
  • 动静分离,原先一台服务器,动态资源(如:jsp,servlet)和静态资源(如:html,js)都在这台服务器上,导致服务器压力大。为了减小服务器压力,可以将动态和静态资源放到不同服务器上。

ngix的安装及使用

下载地址:http://nginx.org/en/download.html ,以下内容转载至:Nginx详解_星空1024的博客-CSDN博客

 

 

Nginx常用命令

使用nginx操作命令前提条件:必须进入nginx的安装目录下的sbin目录

cd /usr/local/nginx/sbin

1查看nginx版本号命令

./nginx -v

 

2 启动nginx命令
./nginx

3关闭nginx命令
./nginx -s stop

4 重新加载nginx
即修改了nginx的配置文件,默认不会马上生效,可以重启让它生效,但是现在我不想重启,让配置文件重新加载就会生效(即不要重启服务器也会生效)

./nginx -s reload

 

Nginx的配置文件

 在这里插入图片描述
Nginx配置文件由三部分组成:

第一部分:全局块

从配置文件开始,到events之前的都属于全局块
在这里插入图片描述
详细说明:
在这里插入图片描述

第二部分:events块

在这里插入图片描述
在这里插入图片描述

第三部分:http块

在这里插入图片描述

http全局块

http全局块配置的指令包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求数上限等

在这里插入图片描述

server块

在这里插入图片描述
Server块中又很多的注释,那些是可以参考的例子

Nginx配置实例1——反向代理

准备工作
在这里插入图片描述
流程图
在这里插入图片描述
在nginx的配置中文件中配置vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
编写好后重新加载nginx
在这里插入图片描述
Window中C:\Windows\System32\drivers\etc本地域名解析
在这里插入图片描述

测试访问的效果

Nginx配置实例2——反向代理


实现效果:使用nginx反向代理,根据访问的路径跳转到不同端口的服务中
Nginx监听端口为9001
访问http://127.0.0.1:9001/edu/ 直接跳转到127.0.0.1:8080
访问http://127.0.0.1:9001/vod/ 直接跳转到127.0.0.1:8081

 

准备工作
(2)中是在端口为8080的tomcat的webapps文件下下创建edu文件夹,文件夹下创建a.html(里面内容略)。8081的tomcat的webapps文件下下创建vod文件夹,文件夹下创建a.html(里面内容略)。


配置完成后,防火墙应该开放相应的端口9001 8080 8081
然后重新加载nginx

访问结果

 

Nginx正则配置

在这里插入图片描述

 


 

ngix负载均衡

Nginx 实现负载均衡用到了 proxy_pass 代理模块核心配置, 将客户端请求代理转发至一组 upstream 虚拟服务池。
负载均衡和反向代理的区别是,反向代理由代理服务器指定特定的服务器去请求资源,而负载均衡中的代理服务器将请求转发给虚拟服务池,具体由那个服务器处理根据相应的算法来定。
 

案例:转载至:超详细的Nginx负载均衡+高可用配置(亲测附图)_nginx负载均衡压力测试效果图_IT_10-的博客-CSDN博客

配置负载均衡例1

在A和B两台主机上做相同的如下配置
在这里插入图片描述
在这里插入图片描述
现在分别访问三次A主机和B主机都会出现的情况是:I am -.-.-.244 server连续出现两次,第三次是I am -.-.-.17 server,此后的刷新都是按照该规律

Nginx配置实例—负载均衡

实现效果:
(1) 浏览器地址栏输入地址:http://服务器ip/edu/a.html,负载均衡效果,请求平均分担到8080,8081端口中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 

Nginx配置—动静分离

在这里插入图片描述
动态请求:比如我数据要从数据库获取,这个可以理解为动态请求
在这里插入图片描述

 

准备工作,cd / 然后mkdir data 再data文件夹下创建www(用于存放静态页面),image(存放图片的文件夹)
在这里插入图片描述
修改nginx的配置文件,然后重新加载配置文件(root data访问的image或访问www的时候他会去访问data目录下的。。。)
在这里插入图片描述

在这里插入图片描述
访问就列出了image文件夹中的内容,因为上面配置autoindex on的作用
在这里插入图片描述
访问图片正常

在这里插入图片描述
从上面访问静态资源可以看到不是从请求tomcat,而是直接请求静态资源,实现了nginx静态访问

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/922370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter实现动画列表AnimateListView

由于业务需要,在打开列表时,列表项需要一个从右边飞入的动画效果,故封装一个专门可以执行动画的列表组件,可以自定义自己的动画,内置有水平滑动,缩放等简单动画。花里胡哨的动画效果由你自己来定制吧。 功…

在本地搭建Jellyfin影音服务器,支持公网远程访问影音库的方法分享

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及,各种各样的使用需求也被开发出来&…

爆火「视频版ControlNet」开源了!靠提示词精准换画风,全华人团队出品

“视频版ControlNet”来了! 让蓝衣战神秒变迪士尼公举: 视频处理前后,除了画风以外,其他都不更改。 女孩说话的口型都保持一致。 正在插剑的姜文,也能“下一秒”变猩球崛起了。 这就是由全华人团队打造的最新视频处理…

四川玖璨电子商务有限公司:怎么拉升抖店体验分

抖音是中国最受欢迎的短视频分享平台之一,而在抖音上开设自己的抖店成为许多电商从业者的选择。为了提高抖店的曝光度和用户体验,抖店体验分成为了一个重要的指标。在本文中,小编将从两个方面来讨论怎么拉升抖店体验分,包括影响因…

你真的理解 shell 中的 $?

$? 是一个特殊变量,用于获取上一个命令或函数的退出状态码,这里要注意的是状态码和返回值是不同的概念。在函数中我们可以使用返回标志 return,return 的返回值会作为退出状态码供 $? 截取,当函数没有 return 返回值时&#xff…

【Jellyfin影音服务器】 本地部署公网远程影音库

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及,各种各样的使用需求也被开发出来&…

程序员至少要掌握几种编程语言?来看看这些编程语言的优势和用途

你可能听说过,作为一个程序员,你要学习很多种编程语言,才能应对各种不同的项目和需求。那么,程序员最少要掌握几种编程语言呢?其实,这个问题没有一个确定的答案,因为不同的编程语言有不同的优势…

若依vue打印的简单方法

像我们后端程序员做前端的话,有时候真不需要知道什么原理,直接塞就好了 我们选用基于hiprint 的vue-plugin-hiprint来打印 目的是为了实现点击某些行的数据,然后点击某个按钮直接弹出下面的打印 此链接 大佬是原创,我拿来总结梳理一下 插件进阶功能请移步: 链接 插件模板制作页…

直播购物系统开发定制:融合技术与个性化的未来购物体验

在数字化时代,直播购物已经成为了商业领域的一大趋势。而通过直播购物系统开发定制,商家能够更好地满足消费者的个性化需求,为购物体验带来前所未有的变革。在本文中,我们将探讨如何通过技术手段来实现直播购物系统的开发定制&…

Layer Normalization(层规范化)

详细内容在这篇论文:Layer Normalization 训练深度神经网络需要大量的计算,减少计算时间的一个有效方法是规范化神经元的活动,例如批量规范化BN(batch normalization)技术,然而,批量规范化对小批…

【若依管理系统 权限控制】

1.在菜单管理添加按钮权限,如图 2.在角色管理里面加上菜单,如图 3.前端控制: 4.后端控制: 5.重启后台后,重新登录用户。

无涯教程-Python - Dictionary(字典)

每个键都由一个冒号(:)与其值分隔,各元素之间以逗号分隔,并且整个内容都用花括号括起来。一个没有任何元素的空字典用两个大括号书写,如:{}。 键在字典中是唯一的,而值可能不是。字典的值可以是任何类型,但是键必须是…

【机器学习7】特征缩放

特征缩放 🍀特征缩放的重要性🌱归一化🌱标准化🌱更高级的缩放方法🌸导入数据集&将数据集划分为训练集和测试集🌸Sklearn-Learn算法实现归一化🌸Sklearn-Learn算法实现标准化 🍀特…

Activity 的启动流程(Android 13)

Activity 的启动过程分为两种:一种是普通 Activity 的启动过程,另一种是根 Activity 的启动过程。普通 Activity 指的是除应用程序启动的第一个 Activity 之外的其他 Activity。根 Activity 指的是应用程序启动的第一个 Activity,因此&#x…

春秋云镜 :CVE-2020-21650(MyuCMS后台rce)

一、题目 靶标介绍: MyuCMS开源内容管理系统,采用ThinkPHP开发而成的社区商城聚合,插件,模板,轻便快捷容易扩展 其2.2版本中admin.php/config/add方法存在任意命令执行漏洞. 进入题目: exp: url/index.p…

计算机网络 QA

DNS 的解析过程 浏览器缓存。当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的 IP 地址(曾经访问过该域名并且没有清空缓存)系统缓存。当浏览器缓存中无域名对应的 IP 地址时,会自动检测用户计算机…

opencv 进阶20-随机森林示例

OpenCV中的随机森林是一种强大的机器学习算法,旨在解决分类和回归问题。随机森林使用多个决策树来进行预测,每个决策树都是由随机选择的样本和特征组成的。在分类问题中,随机森林通过投票来确定最终的类别;在回归问题中&#xff0…

Blazor组件化开发心得:Blazor开发套路

文章目录 前言Blazor开发套路文件分类示意图 如何分工 前言 接触Blazor也快有一个多月了,了解Blazor之后发现确实是个好东西,开发速度太快了,前端直接拿数据,通过SSR保证安全。但是有一个问题,服务器能承受多大的压力…

Spark项目Java和Scala混合打包编译

文章目录 项目结构Pom完整文件编译查看 实际开发用有时候引用自己写的一些java工具类,但是整个项目是scala开发的spark程序,在项目打包时需要考虑到java和scala混合在一起编译。 今天看到之前很久之前写的一些打包编译文章,发现很多地方不太对…

【资料分享】基于NXP i.MX 8M Plus的异构多核核心板规格书

1 核心板简介 创龙科技SOM-TLIMX8MP是一款基于NXP i.MX 8M Plus的四核ARM Cortex-A53 单核ARM Cortex-M7异构多核处理器设计的高端工业核心板,ARM Cortex-A53(64-bit)主处理单元主频高达1.6GHz,ARM Cortex-M7实时处理单元主频高达800MHz。处理器采用14…