高性能HTTP和反向代理Web服务器 - Nginx

news2024/11/24 5:19:57

Nginx

      • 一、安装
        • 1.1.Windows安装
        • 1.2.Linux安装
        • 1.3.常用命令
      • 二、动静分离
      • 三、反向代理
        • 3.1.正向代理
        • 3.2.反向代理
      • 四、负载均衡
        • 4.1.轮询
        • 4.2.加权轮询
        • 4.3.Ip hash
      • 五、限流
      • 六、缓存
      • 七、黑白名单

Nginx是一个高性能的HTTP服务器反向代理的web服务器,同时也提供IMAP,POP3,SMTP服务
特点:占用内存少,并发能力强,安装运行维护简单

一、安装

1.1.Windows安装

nginx/Windows-1.18.0,可以选择下载Stable version(稳定版本)
解压即可使用:注意解压目录不要带有中文
配置文件:conf/nginx.conf
运行访问:在安装目录cmd打开命令窗口,执行nginx.exe命令,浏览器输入http://localhost/访问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.2.Linux安装

nginx/Windows-1.18.0,下载Stable version(稳定版本)
将下载好的文件上传到linux服务器上,这里选择使用虚拟机Vmware+centos7,上传工具使用finalshell

在这里插入图片描述

ls :查看nginx-linux-1.18.0.tar.gz是否上传成功
tar -zxvf nginx-linux-1.18.0.tar.gz:解压文件
cd nginx-linux-1.18.0:进入文件夹
./configure:执行配置文件
make:编译
如果在make时遇到“make: *** 没有规则可以创建“default”需要的目标“build”。 停止。”问题,那你大概率使用的不是root用户,要么换root用户,要么使用普通用户执行以下命令
yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
执行完命令后再次执行./configure和make命令
make install
whereis nginx:查看nginx所在目录
cd /usr/local/nginx:进入nginx目录
ls -l:会看见一个sbin,执行文件放在里面
cd sbin/:进入sbin
./nginx:启动
cat nginx.conf:查看配置文件
ipconfig:查看linux的ip
浏览器访问ip/80端口:http://192.168.44.132/80
如果不可以:1.查看80端口的防火墙有没有开 2.看远程服务器(阿里云、腾讯云)安全组的80端口也放开

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

1.3.常用命令

cd /usr/local/nginx/sbin 进入执行文件目录 cd /usr/local/nginx/conf/nginx.conf 修改配置文件
./nginx:启动
./nginx -s stop:停止
./nginx -s quit:安全退出
./nginx -s reload:重新加载配置文件(每次修改配置文件后都要执行)
ps aux|grep nginx:查看nginx进程

二、动静分离

动静分离(静态代理),Nginx是一个HTTP服务器,可以将服务器上的静态文件通过HTTP协议展现给客户端
软件开发中,一些请求是需要后台处理的,有些请求静态文件(css、html、jpg,js等文件)的是不需要经过后台处理的,让动态网站里面的动态网页根据一些规则将不变的资源和经常变的资源跟开,动静资源做好拆分后,就可以根据静态资源的特点将其做缓存操作,提高资源响应速度。

三、反向代理

3.1.正向代理

正向代理:代理客户端

在这里插入图片描述

3.2.反向代理

反向代理:代理服务器,无感知访问服务器资源,使服务部署上线更方便

在这里插入图片描述

四、负载均衡

负载均衡的两种策略:内置策略(轮询、加权轮询、Ip hash),扩展策略(天马行空)

4.1.轮询

有9个请求,代理3台服务器,1,4,7请求会转发到第一台服务器,2,5,8请求会转发到第二台服务器,3,6,7请求会转发到第三台服务器

在这里插入图片描述

4.2.加权轮询

设置服务器的权重,性能高的权重高,大部分请求都会转发到权重高的服务器上,很少一部分转发到权重低的服务器

在这里插入图片描述

4.3.Ip hash

主要来解决session不共享的问题:iphash对客户端请求的ip进行hash操作,根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理
但如果某台服务器挂了,session任然会丢失,所以不建议使用nginx实现session共享,比较常用的是Redis实现session共享

在这里插入图片描述

五、限流

六、缓存

七、黑白名单

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

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

相关文章

一文带你读懂公司卫生间一直有人窜稀的原理

不知道你有没有这样的经历,一直忙忙碌碌,需求不断,当你终于解决完手头的事情,突然特别着急想要去卫生间的时候,仅有的几个门总是关着的,于是怀疑,可能其他人更需要这次机会,他们也一…

华为云安装Docker,在其中安装Tomcat运行Html项目一步到位

一日不学习浑身难受,对于追光者的我来说,就是这种情况!!!今天心血来潮,想把云服务器、Docker、Tomcat、Html项目集成一块进行练习,为了后面的部署项目做准备。 环境介绍:华为云cent…

KafKa存储机制

目录 存储机制 kafka 存储选型 Kafka 存储方案剖析 kafka 存储架构设计 kafka 日志系统架构设计 日志目录布局 磁盘数据存储 可靠性 Producer的可靠性保证 kafka 配置为 CP系统 kafka 配置为 AP系统 Broker 的可靠性保证 Consumer 的可靠性策略 AutoCommit&#xff…

【二叉树从无到有】

目录:前言一、树1.什么是树结构?2.为什么使用树结构?3.树的概念4.树的表示5.树在现实生活中的应用二、二叉树(一)二叉树概念既结构1.概念2.现实中的二叉树3.特殊的二叉树4.二叉树的性质5.二叉树的存储结构(…

线程的深度剖析

线程和进程的区别和联系: 1.进程可以处理多并发编程的问题,但是进程太重,主要指它的资源分配和资源回收上,进程消耗资源多,速度慢,其创建、销毁、调度一个进程开销比较大。 2.线程的出现有效地解决了这一…

面向对象的个人理解(使用JAVA代码描述)

前言 功能分类 类(class)的第一个功能是隔离,起到边界的作用,使得不同功能的代码互不干扰。 干扰的起源 在非面向对象的语言中,我们主要定义结构和函数来实现功能。下边用C语言来举个例子。 某程序员写了宠物模拟…

Ajax学习:nodejs安装+express框架介绍

ajsx应用中,需要安装nodejs环境 基于Chrome V8引擎(和浏览器上的谷歌的解析引擎一样)JavaScript运行环境 (31条消息) Node.js_安装_哇嘎123的博客-CSDN博客 查看安装是否完成 express框架介绍--为了创建一个web服务器 (31条消息) Express…

Spark系列之Spark体系架构

title: Spark系列 第四章 Spark体系架构 4.1 Spark核心功能 Alluxio 原来叫 tachyon 分布式内存文件系统Spark Core提供Spark最基础的最核心的功能,主要包括: 1、SparkContext 通常而言,DriverApplication的执行与输出都是通过SparkC…

STM32G491RCT6,STM32H743BIT6规格书 32bit IC MCU

STM32G4系列将强大的ArmCortex-M4加上FPU和DSP能力与丰富和先进的模拟外设相结合。它引入了两种新的数学加速器(Cordic和Filtering), CAN-FD (Flexible Datarate),USB Type-C接口的功率传输,包括物理层(PHY)和先进的安全功能。(图…

Day38——Dp专题

DP专题 动态规划五部曲: 确定dp数组以及下标的含义 确定递推公式 dp数组如何初始化 确定遍历顺序 举例推导dp数组 1.斐波那契数 题目链接:509. 斐波那契数 - 力扣(LeetCode) 思路:做dp类题目,根据…

Meta 内部都在用的 FX 工具大起底:利用 Graph Transformation 优化 PyTorch 模型

PyTorch 中的 graph mode 在性能方面表示更为出色,本文介绍 Torch.FX 这个强大工具,可以捕捉和优化 PyTorch 程序 graph。 一、简介 PyTorch 支持两种执行模式:eager mode 和 graph mode。 eager mode 中,模型中的运算符在读取时…

JUC并发编程

目录JUC概述什么是JUC进程与线程的概念线程的状态线程的方法并发与并行管程(Monitor)用户线程和守护线程Lock接口Synchronized 关键字Synchronized 作用范围Synchronized 实现卖票例子Lock接口什么是LockLock与synchronized的区别可重入锁(ReentrantLock&#xff09…

剑桥大学哪些专业需要IB物理成绩?

如果IB学生申请目标是剑桥大学,那么申请哪些专业需要学习IBDP物理课程?要不要学习IBDP物理课程呢?剑桥大学:IB成绩要求高,招录竞争激烈 在申请英国大学之前,理性的申请者都会提前查看一下目标大学的学术成绩…

Python破解WIFI源代码,测试成功(暴力跑字典)

目录 1,先安装Python环境(这个不用多说了吧) 2,安装PyWifi 3,自己手工整理高频弱口令,不建议程序生成的字典,生成的字典成功率实在太低。 4,自己生成字典的算法: 5,破解WIF代码第一种&#…

NetCore多租户开源项目,快速后台开发企业框架,赚钱就靠她了

今天给大家推荐一个开源项目,基于.NetCore开发的、多租户的企业开发框架。 文章目录项目简介技术架构项目结构系统功能代码生成器部分功能截图项目地址项目简介 这是一个基于.Net和Layui、基于多数据库的多租户,敏捷开发优选框架。系统自带权限功能、数…

面向移动支付过程中网络安全的研究与分析

基础防护系统设计 4.1.1入侵监测系统 入侵监测系统(IDS)的部署主要是防治外界非法人员对银行网络进行攻击,及时发现非法人员的入侵行为,以确保能够立刻采取网络阻止措施。在银行网络中的关键部位部署入侵检测系统,可…

springboot中controller层代码优雅写法

在基于spring框架的项目开发中,必然会遇到controller层,它可以很方便的对外提供数据接口服务,也是非常关键的出口,所以非常有必要进行规范统一,使其既简洁又优雅。 controller层的职责为负责接收和响应请求&#xff0c…

快手资讯|快手推出多档世界杯相关节目

1、快手直播间上线“相亲角”功能 近日,快手直播间上线了“相亲角”功能,可为主播打造相亲功能。 此外,快手还在“热门活动”中推出了“婚庆”频道,主要展示“婚礼现场”、“婚纱照”等短视频内容。企查查App显示,北京…

博主常用的 idea 插件,建议收藏!!!

一、Key Promoter X **快捷键提示工具:**每次操作,如果有快捷键,会提示用了什么快捷键。 二、Maven Helper maven 助手:展示 jar 包依赖关系 三、Lombok 只需加上注解 什么get set 什么toString 等等方法都不需要写 四、MyBati…

Postman下载安装注册登录简介登录后界面简介

一、为什么选择Postman? 如今,Postman的开发者已超过1000万(来自官网),选择使用Postman的原因如下:1、简单易用 - 要使用Postman,你只需登录自己的账户,只要在电脑上安装了Postman应用程序,就可以方便地随时随地访问…