Nginx安装Windows、Linux | 正向代理、反向代理、负载均衡

news2024/12/23 15:38:52

在这里插入图片描述

💗wei_shuo的个人主页

💫wei_shuo的学习社区

🌐Hello World !


Nginx

在这里插入图片描述

Nginx是一个高性能的HTTP和反向代理服务器,也可用作电子邮件代理服务器和通用TCP/UDP代理服务器。它是一个轻量级的Web服务器,可以作为静态资源服务器、负载均衡器和反向代理服务器使用。Nginx的优点包括高性能、低内存消耗、高并发连接、灵活性和可扩展性等,因此得到了广泛的应用

  • 高性能:Nginx采用事件驱动、异步非阻塞的处理方式,能够在高负载下保持稳定的性能
  • 低内存消耗:Nginx在处理请求时占用的内存非常少,因此可以在资源有限的情况下运行
  • 高并发连接:Nginx能够支持大量的并发连接,可以处理数百万个并发连接
  • 灵活性:Nginx支持自定义模块和插件,可以根据需要进行扩展
  • 可扩展性:Nginx可以通过多个服务器进行负载均衡,从而提高系统的可扩展性

正向代理

正向代理:指客户端通过代理服务器来访问其他服务器的过程。在正向代理模式下,代理服务器充当客户端和目标服务器之间的中间人,客户端向代理服务器发送请求,代理服务器再将请求转发给目标服务器,然后将目标服务器的响应返回给客户端。正向代理的主要作用是隐藏客户端的IP地址和提高访问速度,也可以用于访问受限制的网站

在这里插入图片描述

反向代理

反向代理:指客户端通过代理服务器来访问自己的服务器的过程。反向代理模式,代理服务器充当目标服务器和客户端之间的中间人,客户端向代理服务器发送请求,代理服务器再将请求转发给目标服务器,然后将目标服务器的响应返回给客户端。反向代理的主要作用是隐藏服务器的IP地址和提高访问速度,也可以用于负载均衡和缓存数据

在这里插入图片描述

负载均衡

负载均衡是指将网络流量分摊到多个服务器上,以提高网络性能、增加吞吐量、降低响应时间和提高可用性等。负载均衡可以通过多种方式实现,包括软件负载均衡和硬件负载均衡;Nginx负载均衡的策略主要包括以下几种:

  • 轮询:轮询是Nginx默认的负载均衡策略,它将请求依次分配给每个后端服务器,保证每个服务器都能平均分配请求负载

  • 加权轮询:加权轮询策略可以根据后端服务器的性能和负载情况,给每个服务器分配不同的权重值,然后按照权重值进行轮询分配请求,从而使得性能较好的服务器能够处理更多的请求

  • IP Hash:IP Hash策略根据客户端的IP地址进行哈希运算,将相同IP地址的请求分配给同一个后端服务器,这样可以保证同一个客户端的请求都落到同一台服务器上,从而避免了会话状态的问题

  • 最少连接:最少连接策略会将请求分配给当前连接数最少的后端服务器,这样可以使得负载均衡器将请求分配给连接能力最强的后端服务器

  • 加权最少连接:加权最少连接策略将请求分配给当前权重值和连接数最少的后端服务器,这样可以根据后端服务器的性能和负载情况,动态地分配请求负载

轮询

轮询是Nginx默认的负载均衡策略,它将请求依次分配给每个后端服务器,保证每个服务器都能平均分配请求负载

在这里插入图片描述

加权轮询

加权轮询策略可以根据后端服务器的性能和负载情况,给每个服务器分配不同的权重值,然后按照权重值进行轮询分配请求,从而使得性能较好的服务器能够处理更多的请求

在这里插入图片描述

IP Hash

IP Hash策略根据客户端的IP地址进行哈希运算,将相同IP地址的请求分配给同一个后端服务器,这样可以保证同一个客户端的请求都落到同一台服务器上,从而避免了会话状态的问题

在这里插入图片描述

动静分离

Nginx动静分离是一种优化Web服务器性能的常用技术,它通过将静态资源和动态资源分开处理,从而提高Web服务器的性能和吞吐量

在这里插入图片描述

Nginx安装:Windows

  • Nginx官网:http://nginx.org/en/download.html
  • 下载稳定版

在这里插入图片描述

  • 解压到安装目录后,输入cmd启动Nginx

在这里插入图片描述

  • 启动时报错80端口被占用
D:\nginx\nginx-1.24.0>nginx.exe
nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
  • 打开Nginx配置文件修改端口

在这里插入图片描述

在这里插入图片描述

  • cmd命令再次启动Nginx,浏览器访问即可(localhost:8080)

在这里插入图片描述

Nginx安装:Linux

  • Nginx官网:http://nginx.org/en/download.html

在这里插入图片描述

  • 使用xftp将安装包传到Linux
  • 解压安装
tar -zxvf nginx-1.24.0.tar.gz
  • 运行配置文件
./configure
  • 构建软件
make
make install
  • 查看Nginx位置
whereis nginx
  • 进入Nginx目录sbin中,执行nginx文件
[root@localhost sbin]# ./nginx 
[root@localhost sbin]# curl 192.168.51.140:80
Welcome to nginx!
  • 如果端口占用则更换端口(nginx.conf)

Nginx 常用命令

./nginx启动
./nginx -s stop停止
./nginx -s quit安全退出
./nginx -s reload重新加载配置文件
ps aux grep nginx查看nginx进程

🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——点赞👍收藏⭐️评论📝


在这里插入图片描述

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

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

相关文章

[进阶]Java:线程概述、线程创建方式

什么是线程? 线程(thread)是一个程序内部的一条执行路径。我们之前启动程序执行后,main方法的执行其实就是一条单独的执行路径。程序中如果只有一条执行路径,那么这个程序就是单线程的程序。 多线程是什么? 多线程是指从软硬件上…

【现代数据架构】面向初创公司的现代数据堆栈

“为工作使用正确的工具!” 这句话一开始听起来很简单,但在实际方面实施起来却非常复杂。早期的初创公司发现很难选择生态系统中可用的各种工具,因为它们的数据将如何演变是非常不可预测的。 需要现代数据堆栈 在过去 10 年中,软件…

c++11 标准模板(STL)(std::basic_ios)(四)

定义于头文件 <ios> template< class CharT, class Traits std::char_traits<CharT> > class basic_ios : public std::ios_base 类 std::basic_ios 提供设施&#xff0c;以对拥有 std::basic_streambuf 接口的对象赋予接口。数个 std::basic_ios…

VMware Integrated OpenStack 7.3 - 支持 vSphere 8.0U1 和 NSX 4.1 并向下兼容

VMware Integrated OpenStack 7.3 - 支持 vSphere 8.0U1 和 NSX 4.1 并向下兼容 VMware 支持的 OpenStack 发行版&#xff1a;在 VMware 虚拟化技术之上运行企业级 OpenStack 云 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-vio-7/&#xff0c;查看最新版。原创…

极易搭建的代码托管平台Gitea

这礼拜有点霉啊&#xff0c;先是日常自用的机器上&#xff0c;SSD 挂了&#xff0c;彻底识别不了的那种 隔了两天&#xff0c;用来写文章用的小机器上&#xff0c; 500G 的机械硬盘也挂了&#xff0c;重新格了一下&#xff0c;挂在玩客云上当个下载盘用吧 好在都有备份&#xf…

[进阶]Java:文件字节输出流、文件拷贝、资源释放

文件字节输出流&#xff08;FileOutputStream&#xff09;写数据出去的API 流的关闭和刷新 代码演示如下&#xff1a; ​​​​​​​ public class OutputStreamDemo04 {public static void main(String[] args) throws Exception {//1.创建一个文件字节输出流管道与目标文件…

WPF开发txt阅读器14:通过C#代码设计UI布局

文章目录 需求分析C#代码UI设计 txt阅读器系列&#xff1a; 需求分析和文件读写目录提取类&#x1f48e;列表控件与目录字体控件绑定&#x1f48e;前景/背景颜色书籍管理系统&#x1f48e;用树形图管理书籍语音播放&#x1f48e;播放进度显示&#x1f48e;快进快退&#x1f48…

ad18学习笔记六:ad18官方在线文档

这个挺有用&#xff0c;反正我是没找到离线的、完整的、详细的软件说明文档&#xff0c;只有去官网看在线的&#xff0c;有点卡&#xff0c;还是全英文的。 具体的位置直接进官网&#xff0c;比如这个&#xff1a; Board Region | Altium Designer 18.0 User Manual | Docume…

BOSHIDA AC DC电源模块在光纤通信设备的应用

BOSHIDA AC DC电源模块在光纤通信设备的应用 随着科技的不断发展&#xff0c;光纤通信技术逐渐成为人们日常生活和工作中广泛采用的一项技术。在光纤通信设/备中&#xff0c;稳定的电源模块是其正常运转的关键。AC DC电源模块在光纤通信设/备的应用也越来越广泛。 AC DC电源模…

清华青年AI自强作业hw3_1:用线性回归模型拟合MNIST手写数字分类

清华青年AI自强作业hw3_1&#xff1a;用线性回归模型拟合MNIST手写数字分类 实现过程思路分析逻辑回归二分类模型训练结果分析 相关链接 一起学AI系列博客&#xff1a;目录索引 hw3_1&#xff1a;用线性回归模型拟合MNIST手写数字分类 初步体验Tensorflow编程环境体会用回归模…

HDLBits自学笔记2:Verilog language.Vector

Vectors 建立一个电路&#xff0c;有一个3bit输入&#xff0c;输出这个向量&#xff0c;并将其分割为三个单独的1bit信号输出&#xff0c;电路图如下&#xff1a; module top_module ( input wire [2:0] vec,output wire [2:0] outv,output wire o2,output wire o1,output wir…

【30天熟悉Go语言】8 Go流程控制之循环结构for range、goto、break、continue

文章目录 一、前言二、for循环1、语法1&#xff09;和Java的for循环一样2&#xff09;和Java的while一样3&#xff09;和Java的for(;;)一样 2、for语句执行过程 三、for range1、语法1&#xff09;遍历key、value只遍历value 2&#xff09;遍历key 四、关键字1、break1&#xf…

【Rust日报】2023-06-18 2023第三届中国Rust开发者大会圆满结束

2023第三届中国Rust开发者大会 发布 Mailtutan v0.3.0 - 用于测试和开发环境的 SMTP 服务器 变更日志&#xff1a; 添加数据修剪支持添加邮件目录存储向 API 添加删除消息添加 TLS 支持添加 SMTP 普通身份验证支持 github: https://github.com/mailtutan/mailtutan/ Kani 0.30.…

测试工程师个人简历模板

测试工程师个人简历模板篇1 姓 名&#xff1a; _x 性 别&#xff1a; 男 婚姻状况&#xff1a; 已婚 民 族&#xff1a; 汉族 户 籍&#xff1a; 湖南-岳阳 年 龄&#xff1a; 27 现所在地&#xff1a; 广东-深圳 身 高&#xff1a; 176cm 希望地区&#xff1a; 广东、 广…

Q-learning解决悬崖问题

Q-learning是一个经典的强化学习算法&#xff0c;是一种基于价值(Value-based)的算法&#xff0c;通过维护和更新一个价值表格(Q表格)进行学习和预测。 Q-learning是一种off-policy的策略&#xff0c;也就是说&#xff0c;它的行动策略和Q表格的更新策略是不一样的。 行动时&am…

vue2和vue3组件v-model区别

前言 单向数据流&#xff0c;父组件传给子组件的数据&#xff0c;子组件只能展示&#xff0c;不能修改&#xff0c;如果需要修改则需要emit事件让父组件修改 有些时候&#xff0c;一些组件并不是通过input来进行触发事件。也就是说value和input事件在大多数情况下能够适用&am…

ROS2性能分析

文章&#xff1a;Performance Analysis of ROS2 作者&#xff1a;Deepak Charan Logavaseekaran, Rakshith Macha Billava 编辑&#xff1a;点云PCL 欢迎各位加入知识星球&#xff0c;获取PDF论文&#xff0c;欢迎转发朋友圈。文章仅做学术分享&#xff0c;如有侵权联系删文。未…

3-dubbo框架,应用程序,模块领域模型Model对象的初始化

在上一章中我们详细看了服务配置ServiceConfig类型的初始化,不过我们跳过了AbstractMethodConfig的构造器中创建模块模型对象的过程 那为什么会在Dubbo3的新版本中加入这个域模型呢,主要有如下原因 之前dubbo都是只有一个作用域的&#xff0c;通过静态类 属性共享 增加域模型是…

MacBook充电限制工具AlDente Pro

AlDente Pro是一款适用于Mac操作系统的小工具&#xff0c;可以帮助您限制电池充电量以延长电池寿命。通常情况下&#xff0c;电池在充满的状态下会继续接受电源充电&#xff0c;这可能会导致电池寿命缩短。使用AlDente Pro&#xff0c;您可以设置电池只充到特定的充电水平&…

使用omp并行技术实现快排加速

快排基本原理&#xff1a; 快速排序可以说是最为常见的排序算法&#xff0c;冒泡排序时间复杂度达到了O&#xff08;N2&#xff09;&#xff0c;而桶排序容易造成浪费空间。快排&#xff08;Quicksort&#xff09;就成为了不错的选择。 1、原理&#xff1a;快排需要找一个数作…