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

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


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

  • 解压到安装目录后,输入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

  • 使用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进程

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


相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
4天前
|
iOS开发 MacOS Windows
|
1天前
|
安全 测试技术 数据库
达梦数据库Windows安装教程:从准备到完成
达梦数据库Windows安装教程:从准备到完成
|
1天前
|
安全 虚拟化 Windows
手把手教你如何在虚拟机上安装Windows 10
手把手教你如何在虚拟机上安装Windows 10
|
1天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
11 0
|
1天前
|
编解码 安全 关系型数据库
祝福CSDN的小伙伴2024年快乐!Windows7安装MySQL
祝福CSDN的小伙伴2024年快乐!Windows7安装MySQL
|
1天前
|
SQL Windows
保姆级:Windows Server 2012上安装.NET Framework 3.5
保姆级:Windows Server 2012上安装.NET Framework 3.5
|
5天前
|
Oracle Java 关系型数据库
windows 下 win11 JDK17安装与环境变量的配置(配置简单详细,包含IJ中java文件如何使用命令运行)
本文介绍了Windows 11中安装JDK 17的步骤,包括从官方网站下载JDK、配置环境变量以及验证安装是否成功。首先,下载JDK 17的安装文件,如果没有Oracle账户,可以直接解压缩文件到指定目录。接着,配置系统环境变量,新建`JAVA_HOME`变量指向JDK安装路径,并在`Path`变量中添加。然后,通过命令行(cmd)验证安装,分别输入`java -version`和`javac -version`检查版本信息。最后,作者分享了如何在任意位置运行Java代码,包括在IntelliJ IDEA(IJ)中创建的Java文件,只需去掉包声明,就可以通过命令行直接运行。
|
7天前
|
Web App开发 JavaScript 前端开发
Windows环境下 NVM 介绍、下载安装及使用详解
Windows环境下 NVM 介绍、下载安装及使用详解
16 0
|
8天前
|
Apache 项目管理 数据安全/隐私保护
Windows安装TortoiseSVN客户端结合Cpolar实现公网提交文件到本地服务器
Windows安装TortoiseSVN客户端结合Cpolar实现公网提交文件到本地服务器
|
1月前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
38 0