快速熟悉Nginx

一、Nginx是什么?

‌**Nginx是一款高性能、轻量级的Web服务器和反向代理服务器。**‌

  • 特点‌:Nginx采用事件驱动的异步非阻塞处理框架,内存占用少,并发能力强,资源消耗低。
  • 功能‌:Nginx主要用作静态文件服务、负载均衡、正向代理和反向代理等,也可用于电子邮件(IMAP/POP3)代理服务。
  • 应用场景‌:Nginx在互联网项目中被广泛应用,特别是在需要处理高并发请求的场景下,如百度、京东、腾讯、淘宝等大型网站。

二、正向代理与反向代理

在这里,用通俗易懂的方式解释一下:

代理服务器如果配置在客户端即为正向代理,如果配置在服务端即为反向代理

正向代理代替客户端去发送请求,反向代理代替服务端接受请求。

举个正向代理的例子:假设现在有一台主机上不了网,可以通过nginx代理该主机上网,配置如下

javascript 复制代码
server {
    listen       80;      
    server_name  192.168.184.128;

    location /proxy_baidu/ {
            proxy_pass http://baidu.com/;
    }
}

在浏览器中输入http://192.168.184.128/proxy_baidu 即可访问到百度主页

配置反向代理的例子:在一台服务器上部署两个tomcat,用nginx做反向代理(负载均衡),nginx配置如下

javascript 复制代码
    upstream tomcatcluster{
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }

    server {
        listen       8090;
        server_name  localhost;

        location / {
           proxy_pass http://tomcatcluster;
        }

tomcat的两个端口为:8080,8081;nginx监听8090端口请求,将请求交给tomcat两个端口处理

下面在浏览器输入http://localhost:8090/ 就能访问到tomcat主页。

三、Nginx的负载均衡

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

简单点来说:Nginx中的负载均衡是指nginx通过反向代理将客户端请求均匀分摊到多个上游应用服务器上,以提高性能、增加可用性、可扩展性和高并发处理能力。

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦。

相关推荐
Leo.yuan5 分钟前
数据湖是什么?数据湖和数据仓库的区别是什么?
大数据·运维·数据仓库·人工智能·信息可视化
程序员JerrySUN26 分钟前
Linux 内核内存管理子系统全面解析与体系构建
java·linux·运维
CIb0la36 分钟前
Ai自动补全编程工具:llama vscode
运维·开发语言·学习·测试工具·程序人生
rui锐rui1 小时前
大模型模型部署和暴露接口
linux·运维·服务器
BJ_Bonree1 小时前
博睿数据×华为, 共筑智慧金融新未来
运维
孙克旭_1 小时前
day030-Shell自动化编程-函数
linux·运维·自动化
IT葛大侠1 小时前
OSPF域内路由
运维·网络·计算机网络
面朝大海,春不暖,花不开3 小时前
管理数据洪流:自动化处理与归档每日数据文件的策略与实践
运维·python·自动化
wgslucky8 小时前
Dubbo报错:module java.base does not “opens java.lang“ to unnamed module
java·开发语言·dubbo
码农101号11 小时前
Linux中shell编程表达式和数组讲解
linux·运维·服务器