Nginx的特性功能-反向代理、负载均衡、缓存、动静分离、平滑升级
2019-08-02 15:39
861 查看
原文链接:[url=https://blog.csdn.net/weixin_30485291/article/details/http:https:/blog.csdn.net/https:/blog.csdn.net/www.cnblogs.comhttps:/blog.csdn.net/linux-shttps:/blog.csdn.net/phttps:/blog.csdn.net/11288905.html]https://blog.csdn.net/weixin_30485291/article/details/http:https:/blog.csdn.net/https:/blog.csdn.net/www.cnblogs.comhttps:/blog.csdn.net/linux-shttps:/blog.csdn.net/phttps:/blog.csdn.net/11288905.html[https://blog.csdn.net/url]
[p]反向代理[https://blog.csdn.net/p] [p]nginx配置文件[https://blog.csdn.net/p] [p]events { } 事件驱动[https://blog.csdn.net/p] [p]httpd { } 关于httpd相关的配置[https://blog.csdn.net/p] [p]server { } 定义虚拟主机[https://blog.csdn.net/p] [p]location { } URI的访问属性[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]location ~*\.php$ { 做正则表达式,所有以.php结尾的文件[https://blog.csdn.net/p] [p] fastcgi_pass 127.0.0.1:9000 反向代理,去127.0.0.1:9000这个地方请求需要的数据[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p] }[https://blog.csdn.net/p] [p]反向代理:[https://blog.csdn.net/p] [p]proxy_pass :这个选项直接指定一个反向代理[https://blog.csdn.net/p] [p]proxy_set_header :将用户请求转发至后端服务器时,可以设定一个独特的头部![https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]负载均衡[https://blog.csdn.net/p] [p]upstream webserver { 定义服务器组的名称 负载均衡选项要定义在server模块之外[https://blog.csdn.net/p] [p] ip_hash; 将来自于同一个客户端的请求,始终定向到同一个服务器[https://blog.csdn.net/p] [p] server 192.168.2.129 weight=1 max_fails=2 fail_timeout=2;[https://blog.csdn.net/p] [p] 选定一个内部服务器 权重为1 最多错误几次 每次检查持续时间[https://blog.csdn.net/p] [p] server 192.168.2.128 weight=1 max_fails=2 fail_timeout=2; [https://blog.csdn.net/p] [p] server 127.0.0.1:8080 backup; } [https://blog.csdn.net/p] [p] 当上面服务器全部挂掉时,出现这个页面![https://blog.csdn.net/p] [p]server {[https://blog.csdn.net/p] [p] listen 80;[https://blog.csdn.net/p] [p] server_name localhost;[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]location https://blog.csdn.net/ {[https://blog.csdn.net/p] [p] proxy_pass [url=https://blog.csdn.net/weixin_30485291/article/details/http:https:/blog.csdn.net/https:/blog.csdn.net/webserverhttps:/blog.csdn.net/]https://blog.csdn.net/weixin_30485291/article/details/http:https:/blog.csdn.net/https:/blog.csdn.net/webserverhttps:/blog.csdn.net/[https://blog.csdn.net/url]; 反向代理,这里要改为upstream组名,指的是反向代理这个组中的所有成员![https://blog.csdn.net/p] [p] }[https://blog.csdn.net/p] [p] }[https://blog.csdn.net/p] [p]重新定义一个server,设定,当我们的服务器全部挂掉时,出现这个页面。[https://blog.csdn.net/p] [p]定义完server后,在upstream模块中添加上这个服务器![https://blog.csdn.net/p] [p]server {[https://blog.csdn.net/p] [p] listen 8080;[https://blog.csdn.net/p] [p] server_name localhost;[https://blog.csdn.net/p] [p] root https://blog.csdn.net/wwwhttps://blog.csdn.net/a.org;[https://blog.csdn.net/p] [p] index index.html;[https://blog.csdn.net/p] [p]}[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]nginx支持三种负载均衡算法:[https://blog.csdn.net/p] [p] round-robin :加权,默认[https://blog.csdn.net/p] [p] ip_hash : 将来自于同一个客户端的请求,始终定向到同一个服务器[https://blog.csdn.net/p] [p] least_conn:最少链接[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]缓存[https://blog.csdn.net/p] [p]nginx缓存由两部分组成:[https://blog.csdn.net/p] [p] 共享内存:存储键和缓存对象数据[https://blog.csdn.net/p] [p] 磁盘空间:存储数据[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]proxy_cache_path 定义缓存空间,不能定义在server{ }模块中,[https://blog.csdn.net/p] [p] levels=1:2:1 缓存目录:子目录级别,最多定义三个级别,每一级别字符最多2个!第一个级别1个字符,第二个级别2个字符。。。。[https://blog.csdn.net/p] [p] keys_zone 存储键的区域,区域大小[https://blog.csdn.net/p] [p] max_size 缓存目录大小[https://blog.csdn.net/p] [p]格式:proxy_cache_path https://blog.csdn.net/ngnxhttps://blog.csdn.net/hun levels=1:2:1 keys_zone=fst:20m max_size=1G; [https://blog.csdn.net/p] [p] 缓存目录 缓存[https://blog.csdn.net/p] [p]cache_manager :根据最近最少使用算法,将那些此前没有用的缓存给他清除出去。[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]定义完缓存,还需要在location模块中启用它,proxy_cache 缓存名,这里的缓存名就是keys_zone中定义的名字[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]另外的三种缓存:[https://blog.csdn.net/p] [p]open_log_cache :日志缓存[https://blog.csdn.net/p] [p]open_file_cache[https://blog.csdn.net/p] [p]fastcgi_cache[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]动静分离[https://blog.csdn.net/p] [p]webDAV :一种基于HTTP1.1协议的通信协议,他扩展了HTTP1.1,使应用程序可直接对web server 直接读写,并支持文件锁定及解锁,支持文件的版本控制[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]#动态页面交给http:https://blog.csdn.net/https://blog.csdn.net/tdt_wugk,也即我们之前在nginx.conf定义的upstream tdt_wugk 均衡[https://blog.csdn.net/p] [p] location ~ .*\.(php|jsp|cgi)?$[https://blog.csdn.net/p] [p] {[https://blog.csdn.net/p] [p] proxy_set_header Host $host;[https://blog.csdn.net/p] [p] proxy_set_header X-Real-IP $remote_addr;[https://blog.csdn.net/p] [p] proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;[https://blog.csdn.net/p] [p] proxy_pass [url=https://blog.csdn.net/]http:https://blog.csdn.net/https://blog.csdn.net/tdt_wugk[https://blog.csdn.net/url];[https://blog.csdn.net/p] [p] }[https://blog.csdn.net/p] [p]#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。[https://blog.csdn.net/p] [p] location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$[https://blog.csdn.net/p] [p] {[https://blog.csdn.net/p] [p] root https://blog.csdn.net/datahttps://blog.csdn.net/wwwhttps://blog.csdn.net/wugk;[https://blog.csdn.net/p] [p] #expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力[https://blog.csdn.net/p] [p] expires 3d;[https://blog.csdn.net/p] [p] }[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p] [p]平滑升级[https://blog.csdn.net/p] [p]Nginx方便地帮助我们实现了平滑升级。其原理简单概括,就是:[https://blog.csdn.net/p] [p](1)在不停掉老进程的情况下,启动新进程。[https://blog.csdn.net/p] [p](2)老进程负责处理仍然没有处理完的请求,但不再接受处理请求。[https://blog.csdn.net/p] [p](3)新进程接受新请求。[https://blog.csdn.net/p] [p](4)老进程处理完所有请求,关闭所有连接后,停止。[https://blog.csdn.net/p] [p]操作步骤:[https://blog.csdn.net/p] [p]1、使用nginx -V 查看旧版本.https://blog.csdn.net/configure的选项[https://blog.csdn.net/p] [p]2、使用旧版本的.https://blog.csdn.net/configure的选项编译新版本,编译时不能make install[https://blog.csdn.net/p] [p]3、编译完成之后,把旧版本的可执行文件备份或者改名,[https://blog.csdn.net/p] [p]4、新版本编译完成之后,在解压包目录中objects文件夹下有新版本的可执行文件,把它复制到旧版本可执行文件的文件路径下。[https://blog.csdn.net/p] [p]5、测试新版本nginx是否正常,使用新版本的可执行文件 nginx -t -c nginx的主配置文件[https://blog.csdn.net/p] [p]6、在新版本nginx的解压目录下执行命令升级:make upgrade[https://blog.csdn.net/p] [p]7、升级之后使用:nginx -v查看版本信息。[https://blog.csdn.net/p] [p] [https://blog.csdn.net/p]
[p]转载于:https:https://blog.csdn.net/https://blog.csdn.net/www.cnblogs.comhttps://blog.csdn.net/linux-shttps://blog.csdn.net/phttps://blog.csdn.net/11288905.html[https://blog.csdn.net/p]
相关文章推荐
- 坚持#第265天~nginx2(nginx的反向代理、nginx负载均衡、nginx缓存、动静分离、平滑升级)
- Nginx入门级简介,包括安装,基本使用,负载均衡,动静分离,反向代理,缓存应用等功能。
- Nginx作为动静分离、缓存与负载均衡初探
- nginx的防盗链,动静分离,缓存,负载均衡,反向代理
- nginx反向代理之缓存,负载均衡,动静分离的配置详解
- nginx反向代理之缓存,负载均衡,动静分离的配置详解
- Nginx之反向代理与负载均衡实现动静分离实战
- Nginx之反向代理与负载均衡实现动静分离实战
- Nginx之反向代理与负载均衡实现动静分离实战
- Nginx+Tomcat实现反向代理、页面缓存、动静分离
- nginx之反向代理、负载均衡、http服务器、动静分离的配置
- Nginx 之五: Nginx服务器的负载均衡、缓存与动静分离功能
- 编译安装nginx实现反向代理、负载均衡、缓存功能
- Nginx 之五: Nginx服务器的负载均衡、缓存与动静分离功能
- Laml环境安装wordpress外加nginx负载均衡并实现phpmyadmin平滑升级!
- Nginx平滑升级,并增加清除缓存模块
- nginx高级部分:动静分离、负载均衡配置
- Nginx+Tomcat实现动静分离、负载均衡
- Nginx学习总结(10)——Nginx前后端分离将多个请求转发到多个Tomcat,负载均衡反向代理
- Nginx + Tomcat 动静分离实现负载均衡