nginx理论

nginx理论

nginx是一款轻量级的web服务器、反向代理服务器。经常用来处理前端资源,并代理后端程序。正向代理代理的是请求者、客户端,反向代理代理的是服务器、服务端,代理了谁,隐藏了谁。

优点:它占用内存少、启动快、高并发能力强。

如何做到高并发的,nginx的work数目与cpu绑定,可以启动多个worker。

Server

server组件用于配置一个服务,需要为该服务指定监听的ip和端口,配置后,nginx会启动一个服务处理发送到该端口的请求。

server需要配置如下属性:

listen:监听的端口号

server_name:监听的ip

location: 如何映射发送到该端口的请求,可以使用正则表示,匹配顺序由上至下。

root:用于指定静态资源目录

index: 用于指定默认加载的页面

proxy_pass: 用于指定该location请求转发到何处,本质是反向代理。

upstream

借助upstream我们可以将多个服务归为一组,然后使用一个location反向代理这个组,一般组内的多个服务是同质的,是分布在多个机器上的一样的服务,主要通过upstream实现负载均衡,或者灵活的机器上下线。

负载均衡有如下的可选策略:

轮询:时序轮流分配给每个服务

权重:指定分配的比重

公平:公平的按照响应时间分配,响应时间短的优先分配

url_hash:按照url的内容硬性分配机器

ip_hash: 按照前段ip分配机器,保证同一个ip总是分配至相同的后端server

worker

nginx使用master管理多个worker,一般worker的数量不能大于核心数目。master负责管理配置文件,服务的启动销毁等。worker负责处理客户端发送的请求。

Location

Location用于指定路径映射的服务,控制反向代理的具体规则。

Location内部可以配置很多属性,如:

rewrite "^/testtest/(.*)$"  /cvelistnew/$1 break;//用于改写发送到后端服务后的访问接口路径
proxy_pass http://up1;

配置示例

 server {
        listen       8344;
        server_name  localhost;
        client_max_body_size 100m;
        location /{
            root   /home/platform/dist20220616;
            index  index.html;
        	proxy_pass http://up1;
            rewrite "^/testtest/(.*)$"  /cvelistnew/$1 break;
    	}
        upstream up1 {
            server 192.168.1.22;
            server 192.168.1.33;
            server 192.168.1.44;
        }
}    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值