首页 > 系统相关 >Nginx基本知识

Nginx基本知识

时间:2024-03-01 21:22:39浏览次数:26  
标签:负载 请求 nginx 基本知识 Nginx 均衡 服务器

一、什么是nginx
Nginx是高性能的HTTP和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。

二、正向/反向代理
正向代理:nginx作为客户端去访问服务器。
反向代理:nginx作为服务器接收请求。此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

三、负载均衡
增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。

四、动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。

五、TCP均衡负载

//修改配置和平滑启动
cd /usr/local/nginx
cd conf
vim nginx.conf
./nginx -s reload
# nginx tcp 负载均衡配置;
stream{
        upstream MyServer{
                server 127.0.0.1:6000 weight=1 max_fails=3 fail_timeout=30s;    //weight是按权重轮询,max_fails是最大心跳数,fail_timeou表示Nginx会等待30s之后,才会尝试再次将流量路由到被标记失败的服务器上
                server 127.0.0.2:6002 weight=1 max_fails=3 fail_timeout=30s;
        }

        server{
        proxy_connect_timeout 1s;
        listen 8000;      //对客户端暴露的端口
        proxy_pass MyServer;      //反向代理的集群标识符号
        tcp_nodelay on;
        }
}

六、五种负载均衡算法
1.轮询算法(默认):每个请求按时间顺序逐一分配到不同的服务器
2.最少连接算法:下一次请求到达连接数最少的服务器
3.IP哈希算法:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。("session问题"指的是负载均衡中的一个常见挑战,即如何确保用户在一段时间内与相同的后端服务器进行通信,以便保持其会话状态的一致性)
4.按权轮询算法:给每台服务器分配权重(硬件好的服务器权重设置大一些)
5.fair(第三方):响应时间短的服务器优先分配

参考博客:nginx学习,看这一篇就够了

标签:负载,请求,nginx,基本知识,Nginx,均衡,服务器
From: https://www.cnblogs.com/fly-smart/p/18047958

相关文章

  • 解决Nginx代理转发中HTTP到HTTPS跳转问题的技术方案解析
    在进行Nginx代理转发时,经常会遇到HTTP到HTTPS跳转的问题,特别是在某些情况下,即使在程序中明确指定了使用HTTPS协议,仍然会出现跳转到HTTP的情况。本文将介绍一种解决这个问题的技术方案,并对问题的原因进行分析。问题描述在进行Nginx代理转发时,配置了HTTPS支持,但在程序中发起请求时......
  • nginx 配置下载apk 页面
    nginx代理apk文件下载server{listen80;server_nameapp.com.cn;location/app{alias/var/www/app;autoindexon;default_typeapplication/octet-stream;}} alias指定虚拟......
  • 解决nginx配置返回403实际返回404的问题
    背景某油项目安全漏扫,要求特定的一些资源不允许外部访问,只能在VPC内部相互访问。准备对需要屏蔽的资源,配置nginx反向代理,直接return403,配置完成后实测发现nginx返回了404。解决方案经过分析,基本确定是因为nginx的403错误页面没有配置导致的,把403的错误页面配置加上即可,具体配......
  • apache2和nginx卸载总是不干净不完全导致无法重装,重装成功也无法启动
    大着胆子把nginx卸载了用的命令是  sudoaptremovenginx 结果最后不知道怎么折腾的就算重新装也装不上了,然后就转头折腾apache2,也卸载了  sudoaptremoveapache2 然后也一样,重装后,服务起不来了。不知道哪儿出错了,就想着看看重新卸载试试看,然后执行了发现还是卸载不干......
  • nginx建立视频播放列表
    本地需要测试播放器,遂需要建立一个视频服务先将视频放到此地然后更改nginx.confserver{listen80;server_namelocalhost;#将m3u8文件夹映射到根目录下location/{roothtml/movies;autoin......
  • windows下Nginx启动失败(常见的两个错误以及解决方案)
    问题windows10下启动nginx,闪屏而过,访问localhost显示无法访问。尝试解决cmd下使用命令:netstat-an|find"0.0.0.0:80",可以发现80端口已经被占用。使用命令:netstat-ano可以发现占用80端口的服务pid=4,ctrl+shift+Esc打开任务管理器,查看详细,占先pid排序,可以查看到pid为4的......
  • Nginx添加开源防火墙(waf)防护(转载)
    项目背景介绍需求产生由于原生态的Nginx的一些安全防护功能有限,就研究能不能自己编写一个WAF,参考Kindle大神的ngx_lua_waf,自己尝试写一个了,使用两天时间,边学Lua,边写。不过不是安全专业,只实现了一些比较简单的功能:功能列表:支持IP白名单和黑名单功能,直接将黑名单的IP访问拒绝。......
  • Nginx安全防火墙配置,保护网站不受恶意攻击(转载)
    nginx安全防火墙配置,保护网站不受恶意攻击引言:在当今互联网时代,网站面临着各种安全威胁,如恶意攻击、入侵等。为了保护网站的数据和用户隐私,我们需要采取一系列措施来加强网站的安全性。Nginx是一个高性能的Web服务器,在安全方面也提供了丰富的功能,我们可以通过Nginx的防火墙配置来......
  • 本机访问ubuntu的nginx访问不了?
    问题描述:在linux下安装并打开了nginx,但输入虚拟机端口无法访问。解决步骤:1,确认nginx是否打开,命令为ps-ef|grepnginx,结果如下图说明启动成功。 2,开启端口,firewall-cmd--zone=public--add-port=80/tcp--permanent(若显示未找到命令说明没有安装net工具箱,可以访问这里,用命......
  • python部署项目为什么要用Nginx和uWSGI
    一、测试运行python项目1.1Flask项目说明1:当我们直接用编译器运行Flask项目的时候,会有一个提示:意思就是:这是开发环境的服务器,不能用于生产环境的部署,请使用WSGI的服务器替换1.2Django项目说明2:当我们直接用编译器运行Django项目......