快速熟悉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。扩展策略,就天马行空,只有你想不到的没有他做不到的啦。

相关推荐
虎头金猫18 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
还是大剑师兰特18 小时前
解决nginx错误:http://localhost:7000正常,http://localhost:7000/map 报错404
nginx·大剑师
AI职业加油站20 小时前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏21 小时前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
xing-xing21 小时前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅21 小时前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼1 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘1 天前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
懂软件的胡子个哥1 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发