nginx是什么常见的利用场景
nginx 主要利用场景
1、反向代理
(引荐教程:nginx教程)
反向代理应当是Nginx做的最多的一件事了,什么是反向代理呢,以下是baidu百科的说法:反向代理(Reverse Proxy)方式是指以代理效劳器来接受internet上的连接恳求,然后将恳求转发给内部网络上的效劳器,并将从效劳器上得到的结果返回给internet上恳求连接的客户端,此时代理效劳器对外就展现为一个反向代理效劳器。简便来说就是真实的效劳器不克不及直接被外部网络拜访,所以需要一台代理效劳器,而代理效劳器能被外部网络拜访的同时又跟真实效劳器在统一个网络环境,当然也大概是统一台效劳器,端口不一样罢了。
关键命令:proxy_pass;如将 localhost 的80端口 转到 localhost 8080端口
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host:$server_port;
}
}
2、负载平衡
负载平衡也是Nginx常用的一个功效,简便而言就是当有2台或2台以上效劳器时,按照规则随机的将恳求分发到指定的效劳器上处置,负载平衡配置一样都需要同时配置反向代理,通过反向代理跳转到负载平衡。而Nginx当前支撑自带3种负载平衡战略,还有2种常用的第三方战略
关键命令:upstream;如将localhost 80端口的恳求 均分到 localhost 8080 和 localhost 8081两个效劳上
负载方案:
1)、权重 weight:必需实现session 同享,不然致使会员session不一样步,致使会员从新登陆
upstream test { server localhost:8080 weight=9; #恳求的 90% 进入到8080效劳器 server localhost:8081 weight=1; #恳求的 10% 进入到8081效劳器 }
2)、ip_hash:每个恳求按拜访ip的hash结果分配,这样每个访客牢固拜访一个后端效劳器,可以解决session的问题
upstream test { ip_hash; server localhost:8080; server localhost:8081; }
3)、fair(第三方):按后端效劳器的响应时间来分配恳求,响应时间短的优先分配。
upstream test { fair; server localhost:8080; server localhost:8081; }
4)、url_hash(第三方):问url的hash结果来分配恳求,使每个url定向到统一个后端效劳器,后端效劳器为缓存时比力有效
upstream backend { hash $request_uri; hash_method crc32; server localhost:8080; server localhost:8081; }
5)、默许:依照时间一次分配到不一样的机器上
upstream test { server localhost:8080; server localhost:8081; } server { listen 80; server_name localhost; client_max_body_size 1024M; location / { proxy_pass http://test; proxy_set_header Host $host:$server_port; } }
3、WEB效劳器
Nginx本身也是一个静态资源的效劳器,当只要静态资源的时候,就可以使用Nginx来做效劳器,同时此刻也很流动作静别离,就可以通过Nginx来实现,第一看看Nginx做静态资源效劳器
这样假如拜访 http://localhost 就会默许拜访到 E://www/data
名目下面的index.html
,假如一个网站只是静态页面的话,那么就可以通过这种方式来实现摆设
关键命令:root 当只要静态资源的时候,就可以使用Nginx来做效劳器
server { listen 80; server_name localhost; location / { root e:/www/data; index index.html; } }
4、正向代理 不支撑HTTPS
正向代理,意思是一个位于客户端和原始效劳器(origin server)之间的效劳器,为了从原始效劳器取得内容,客户端向代理发送一个恳求并指定目标(原始效劳器),然后代理向原始效劳器转交恳求并将获得的内容返回给客户端。客户端才能使用正向代理。当你需要把你的效劳器作为代理效劳器的时候,可以用Nginx来实现正向代理,但是当前Nginx有一个问题,那么就是不支撑HTTPS
5、静态别离
动静别离是让动态网站里的动态网页按照必然规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分今后,我们就可以按照静态资源的特点将其做缓存操纵,这就是网站静态化处置的中心思绪。
upstream test{ server localhost:8080; server localhost:8081; } server { listen 80; server_name localhost; location / { root e:/wwwroot; index index.html; } # 所有静态恳求都由nginx处置,存置名目为html location ~ .(gif|jpg|jpeg|png|bmp|swf|css|js)$ { root e:/wwwroot; } # 所有动态恳求都转发给tomcat处置 location ~ .(do)$ { proxy_pass http://test; } error_page 500 502 503 504 /50x.html; location = /50x.html { root e:/wwwroot; } }
以上就是nginx是什么常见的利用场景的具体内容,更多请关注百分百源码网其它相关文章!