【学习笔记】Nginx学习

news2024/12/25 16:04:08

Nginx是高性能的HTTP和反向代理的web服务器,占用内存小,处理高并发连接强,处理静态文件好耗费内存少

但是不支持Java语言,Java程序只能通过与Tomcat配合完成

正向代理

客户端无法直接访问目标服务器,而是通过向代理服务器发送请求,代理向目标服务器转交并且将获得的内容返回给客户端,从而实现客户端访问到目标服务器内容

(需要在客户端配置代理服务器进行指定网站访问)

反向代理

客户端对代理没有感知,客户端并不需要任何配置就可以访问

客户端向反向代理发送请求,代理选择目标服务器发送请求,将获取的数据返回给客户端,,对客户端而言代理是目标服务器。

暴露的是代理服务器地址,隐藏了真是服务器IP地址

负载均衡

访问量过大,服务器处理请求处理不过来,此时多开几个进程,但是之前的端口只有一个,如果我们另用一个端口,客户端却是不得知的,处理起来也麻烦且没必要。

以上情况使用反向代理的好处就显而易见,我们隐藏了真正要访问的网址,无需知道端口。此时就需要Nginx作为前置的反向代理。多个Tomcat时Nginx启用负载均衡的策略,根据策略分散请求

此时用户无需知道端口也不需要做选择,只需要访问代理服务器让它去选择就好

健康检查

Nginx内置健康检查功能:如果一个服务器宕机时,请求不会再发送给宕机的服务器了,二回重新请求在其他节点上

服务器限流

即限制客户端请求速度,防止服务器崩,Nginx都是基于漏桶流算法

正常限制访问频率、突发限制访问频率、限制并发连接数

动静分离

为了加快网站的解析速度可以把动静态页面用不同的服务器来解析,从而加快解析速度,降低某单个服务器的压力。

Nginx的静态处理能力很强相反动态处理能力不足,所以一般对于静态资源比如图片、js、css文件等放在Nginx中进行缓存,这样浏览器在访问一个静态资源时Nginx可以直接处理,不需要将请求转发给后端服务器

Nginx使用

配置文件:

cd /usr/local/nginx/conf

vim nginx.conf

启动Nginx:

cd /usr/local/nginx/sbin

./nginx

关闭Nginx:

./nginx -s stop

重启Nginx:

./nginx -s reload

访问IP:端口(在配置文件中配置端口,默认是80)

问题:在win访问linux中nginx默认无法访问,防火墙问题

关防火墙或者设置开放的端口号

Nginx配置文件有三部分组成

第一部分:全局块

主要设置一些影响nginx服务器整体运行的配置指令,只要包括配置运行Nginx服务器的用户(组)、运行生成的work process数,进程PID存放的路径、日志存放路径和类型以及配置文件文件的引入等

work process:高并发服务的关键配置,值越大可支持的恶并发数越多,但是受到硬件、软件等设备的制约

第二部分:event块

主要影响Nginx服务器和用户的网络连接,常见设置包括:是否开启对多个word process下的网络哦连接进行序列化,是否允许同时接受多个网络连接,选取哪种事件驱动模型来处理连接请求等

Worker_connections 1024:每个word process可以同时支持的最大连接数

第三部分:http块

反向代理模拟

1.在Windows系统的hosts文件进行域名和ip对应关系的配置

如果拒绝访问,在该文件的属性中对用户权限设置为可修改

2.在Nginx进行请求转发的配置

3.在Windows上访问www.123.com出现Tomcat默认页面

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

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

相关文章

微信小程序 Springboot英语在线学习助手系统 uniapp

四六级助手系统用户端是基于微信小程序端,管理员端是基于web端,本系统是基于java编程语言,mysql数据库,idea开发工具, 系统分为用户和管理员两个角色,其中用户可以注册登陆小程序,查看英语四六级…

Java后端项目IDEA配置代码规范检查,使用checkStyle实现

最近的Java后端项目想实现代码的规范检查,调研了一圈,终于找到了简单的方式实现:以下是常见的几种方案: 1、在客户端做 git hook,主要是用 pre-commit 这个钩子。前端项目中常见的 husky 就是基于此实现的。但缺点也很…

Revit过滤器怎么用?过滤可见性操作方法

一、Revit中关于项目传递“可见性中设置的过滤器规则”的方法 设计院结构专业给机电专业提资,为了对于净高有一个直观快捷的表达,结构专业工程师就可以利用Revit可见性(快捷键:VV)中的过滤器来给本专业的梁、板相对标高用颜色进行区分&#x…

python爬虫工程师 | 都会遇到的反爬手段,详细展示低难度反爬

在爬虫实战过程中,常见的反爬手段如下所示。 IP 地址限制:网站可以检测爬虫的 IP 地址,并限制爬虫访问。User-Agent 限制:网站可以通过检测请求头中的 User-Agent 来识别爬虫。Referrer 限制:网站可以通过检测请求头中…

TCO-PNB ester,1438415-89-4 ,反式环辛烯对硝基苯酯,可用于标记蛋白质

TCO-PNB ester,TCO-PNB,反式环辛烯-对硝基苯酯 ,反式环辛烯对硝基苯酯,TCO-PNB酯产品结构式:产品规格:1.CAS号:1438415-89-4 2.分子式:C15H17NO53.分子量:291.34.包装规格…

[python入门㊶] - python写入文件

目录 ❤ 写入空文件(覆盖) ❤ 写入多行 ❤ 在原有文件上添加内容 保存数据的最简单的方式之一是将其写入到文件中❤ 写入空文件(覆盖) # codingUTF-8 filename test_text.txt with open(filename, w) as file_object:file_o…

怎么做室内导航?室内导航图用什么做的?

目前大多数的图资系统提供的室内地图多为静态信息,并没有随时间空间改变而更新的能力,在现有技术中缺乏一种展示室内真实场景的室内地图生成方法。由于室内的环境空间信息会因为时空迁变而有所不同,因此,如何以更快速且低成本的方…

Python深度学习实战PyQt5布局管理项目示例详解

本文具体介绍基本的水平布局、垂直布局、栅格布局、表格布局和进阶的嵌套布局和容器布局,最后通过案例带小白创建一个有型的图形布局窗口布局管理就是管理图形窗口中各个部件的位置和排列。图形窗口中的大量部件也需要通过布局管理,对部件进行整理分组、…

Qt 5 架构和特点

Qt 5 模块构架: 模块:功能:Qt CoreQt 5 的核心类库,每个模块都建立在Core上Qt GUI图形用户界面开发的最基础的类库Qt Widgets提供c用户界面部件(是对Qt GUI的拓展)Qt SQL对数据库进行操作Qt Multimedia、…

windows 上编译 cpu 版本的 ncnn

windows 上编译 cpu 版本的 ncnn 从 发布页面 下载最新的完整的 ncnn 代码包,即 -full-source 后缀的文件。以及 protobuf 的代码包(用于生成 caffe2ncnn 和 onnx2ncnn 工具)。 我下载的 20221128 版本的 ncnn 和 3.11.2 版本的 protobuf。…

C语言经典编程题100例(1-20)

1、练习2-1 Programming in C is fun!本题要求编写程序&#xff0c;输出一个短句“Programming in C is fun!”。输入格式:本题目没有输入。输出格式:在一行中输出短句“Programming in C is fun!”。代码&#xff1a;#include<stdio.h> int main() {printf("Progra…

https之数字证书分析

写在前面 当我们要给网站配置https时&#xff0c;都需要申请 一个数字证书&#xff0c;然后将数字证书配置在网站上&#xff0c;如下可能配置: <Connector port"446" protocol"org.apache.coyote.http11.Http11Protocol" SSLEnabled"true"s…

TCP的三次握手 四次挥手 和相关问题

TCP 三次握手 四次挥手 tcp在传输层 tcp&#xff1a; tcp报文&#xff1a; 三次握手&#xff1a; tcp 其中也涉及到了状态的切换 利用了这种状态保证了建立连接和断开连接的逻辑 两次握手不可&#xff1f; 第一个解释: 这个问题的本质是, 信道不可靠, 但是通信双发需要就某个…

var const let

菜鸟学前端 本文&#xff1a;https://www.jianshu.com/p/b7116525273b 文章目录varlet和const写不动了参考说实话&#xff0c;在看到这个之前&#xff0c;我只知道 var&#xff0c;以前也只用过这玩意。 后面那俩都不知道是干啥用的。 感谢同桌的提示。 记&#xff01; var v…

LR2023磨皮滤镜插件Portraiture4最新版

Portraiture4是一款智能磨皮的滤镜插件&#xff0c;该插件能够给Photoshop和Lightroom添加智能磨皮美化功能&#xff0c;可以帮助用户快速对图片中的人物的皮肤、头发、眉毛等部位进行美化&#xff0c;省去了手动调整的麻烦&#xff0c;大大提高P图的效率。Portraiture这是一款…

【线下沙龙】如何用项目管理的思维经营自己的生活

为什么自己参加那么多的学习&#xff0c;也没有过好自己的人生&#xff1f;这个问题出在哪里&#xff1f; 你勾画过自己未来的生活吗&#xff1f; 你没有渴望过的东西会出现在你的生活里吗&#xff1f; 如何实现自己想要的生活&#xff1f; 有一个全球性的调查问卷&#xff1a;…

IDEA运行IAM3.0的管理后台项目(WAR包运行)

1、查看打包方式 远程仓库拉取最新代码 首先查看项目打包方式&#xff0c;为war说明是在容器中运行的。 2、修改数据库配置 将数据库配置修改为本机配置&#xff0c;一般有一个properties配置文件&#xff0c;避免启动之后发现数据库不对又得重启。 3、 系统环境配置 Ct…

【前端笔试题一】:解析url路径中的query参数

前言 本文记录下在笔试过程中的前端笔试编程题目&#xff0c;会持续更新 1. 题目&#xff1a; 解析 url 路径中的 query 参数&#xff0c;比如&#xff1a;‘http://building/#/skeleton?serialNumber2023020818332821073&jobNo210347&target%7B%22a%22%3A%22b%22%2C…

Spring6—JdbcTemplate基础

JdbcTemplate是Spring提供的一个JDBC模板类&#xff0c;是对JDBC的封装&#xff0c;简化JDBC代码。 可以让Spring集成其他的ORM框架:Mybatis、Hibernate等 环境&#xff1a;JDK17IDEAMavenSpring6JdbcTemplate 环境准备 准备数据库表 新建模板 New Module Maven项…

Spring中更简单的存储和读取Bean

目录 一、存储Bean 1.1 配置扫描路径 1.2 使用注解存储Bean对象 1.2.1 五大类注解 1.2.2 方法注解Bean 二、获取Bean 2.1 属性注入 2.2 setter注入 2.3 构造方法注入 2.4 Resource注解 2.5 同一类型多个Bean报错 一、存储Bean 在xml时代&#xff0c;存储一个Bean对象…