Nginx小记

在工作中,一般测试环境,预发环境,正式环境都有部署Nginx服务器。有时候我们需要对Nginx服务器的配置项加一些参数。比如新的映射地址之类的。但是发现一旦涉及到Nginx的话,很多同事都是一脸懵逼。反向代理也不是很清楚。
要了解Nginx首先需要了解什么是正向代理,什么事反向代理。

正向代理

是指客户端与目标服务器之间增加一个代理服务器,客户端直接访问代理服务器,在由代理服务器访问目标服务器并返回客户端并返回 。这个过程当中客户端需要知道代理服务器地址,并配置连接。
简单来说,就是你想看Youtube。但是没法上去咋办,就挂一个vnp,然后再连YouTube。这个就是正向代理。客户端是感知的,知道自己是先连vpn再连Youtube

反向代理

是指客户端访问目标服务器,在目标服务内部有一个统一接入网关将请求转发至后端真正处理的服务器并返回结果。这个过程当中客户端不需要知道代理服务器地址,代理对客户端而言是透明的。
简单来说就是你请求YouTube。他有多台服务器,但是统一暴露的地址就是YouTube,你请求这个地址,服务器内部进行分发。请求的具体的服务器的ip你是不知道的。

Nginx的话就是实现了反向代理。外来的请求统一请求到Nginx上,由Nginx来进行分发。分发的话,就会涉及到负载均衡。
Nginx的配置统一在nginx.conf中配置。如果你公司有哪个环境配置了nginx,可以上去看一下nginx的这个文件里面配置的内容。
ps -ef |grep nginx 就可以看到启动nginx的这个配置文件的具体地址了。
代理的配置是如下这段
location /index/ {

proxy_pass localhost:8080  

}
请求这个地址,代理到本机的localhost:8080端口。
nginx的配置是挺多的。代理的话就有如下这些参数:
proxy_pass # 代理服务
proxy_redirect off; # 是否允许重定向
proxy_set_header Host remote_addr; # 设置客户端IP 地址
proxy_connect_timeout 90; # 连接代理服务超时时间
proxy_send_timeout 90; # 请求发送最大时间
proxy_read_timeout 90; # 读取最大时间
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

nginx我们最多的是用来做负载用的。nginx用的负载算法,是轮训算法。
location / {
proxy_pass http://loadBalance;
}
upstream loadBalance {
server localhost:8080 weight=1;
server localhost:8090 weight=2;
}
上面这端配置就是请求loadBalance的请求,分别达到本机的8080跟8090端口,2个请求的权重就是1跟2。

nginx还可以用来做缓存,缓存这块没怎么用过,但是一般的开发过程中,大概了解负载跟代理这块的知识就应该可以用了。

你可能感兴趣的:(Nginx小记)