如何设置nginx反向代理实现服务器瞬间故障转移
来源:互联网 发布:中国的数据库公司 编辑:程序博客网 时间:2024/05/29 04:45
利用Nginx反向代理原理,实现集群服务器瞬间故障转移,看用于生产环境中综合设置的例子
- #注:proxy_temp_path和proxy_cache_path指定的路径必须在同一分区
- proxy_temp_path
/data0/proxy_temp_dir; -
- #设置Web缓存区名称为cache_one,内存缓存空间大小为200MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为30GB。
- proxy_cache_path
/data0/proxy_cache_dir inactive=1d max_size=30g; -
- #轮询服务器,weight为服务器权重,与访问频率成正比,max_fails最大超时次数,fail_timeout服务器代理监听超时时间
- upstream
backend_server { -
server weight=1192.168.203.43:80 max_fails=2 fail_timeout=30s; -
server weight=1192.168.203.44:80 max_fails=2 fail_timeout=30s; -
server weight=1192.168.203.45:80 max_fails=2 fail_timeout=30s; - }
-
- server
- {
-
listen 80; -
server_name www.yourdomain.com 192.168.203.42; -
index index.html index.htm; -
root /data0/htdocs/www; -
-
location / -
{ -
#如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。 -
proxy_next_upstream http_502 http_504 error timeout invalid_header; -
proxy_cache cache_one; -
-
#对不同的HTTP状态码设置不同的缓存时间 -
proxy_cache_valid 200 304 12h; -
-
#以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内 -
proxy_cache_key $host$uri$is_args$args; -
proxy_set_header Host $host; -
proxy_set_header X-Forwarded-For $remote_addr; -
proxy_pass http://backend_server; -
expires 1d; -
} - }
- 1.proxy_set_header(设定header)
- 2.proxy_hide_header(隐藏header)
- 3.proxy_pass_header(通过header)
- 4.proxy_connect_timeout(代理连接超时)
- 5.proxy_send_timeout(代理发送超时)
- 6.proxy_read_timeout(代理接收超时)
- 7.proxy_temp_file_write_size(设定缓存文件夹大小)
- 8.proxy_buffer_size(代理缓冲大小)
- 9.proxy_buffers
(代理缓冲) - 10.proxy_busy_buffers_size(高负荷下缓冲大小)
- 11.proxy_ignore_client_abort(不允许代理端主动关闭连接)
- upstream
bakend { -
ip_hash; -
server 192.168.203.14:88; -
server 192.168.203.15:80; - }
- upstream
backend { -
server 192.168.203.14:88; -
server 192.168.203.15:80; -
fair; - }
- upstream
backend { -
server squid1:3128; -
server squid2:3128; -
hash $request_uri; -
hash_method crc32; - }
- upstream
bakend{ -
#定义负载均衡设备的Ip及设备状态 -
ip_hash; -
server 127.0.0.1:9090 down; -
server 127.0.0.1:8080 weight=2; -
server 127.0.0.1:6060; -
server 127.0.0.1:7070 backup; - }
- proxy_pass
http://bakend/;
- 1.down
表示单前的server暂时不参与负载 - 2.weight
默认为1.weight越大,负载的权重就越大。 - 3.max_fails
:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误 - 4.fail_timeout:max_fails次失败后,暂停的时间。
- 5.backup:
其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
0 0
- 如何设置nginx反向代理实现服务器瞬间故障转移
- Nginx 反向代理设置
- Nginx 反向代理设置
- Nginx反向代理设置
- nginx 反向代理设置
- Nginx设置反向代理
- nginx反向代理设置
- 设置nginx反向代理
- nginx反向代理设置
- NGINX实现反向代理
- nginx实现反向代理
- nginx实现反向代理
- nginx反向代理实现
- nginx实现反向代理
- 【nginx】nginx实现反向代理
- nginx服务器反向代理tomcat
- nginx反向代理:服务器basePath路径问题如何解决
- nginx反向代理时,X-Forwarded-For 如何设置
- 第三方登录的原理
- 单位rem
- mysql 获取上一条limit语句符合条件的总数
- RabbitMQ的Java应用(2) -- 使用Spring AMQP开发消费者应用
- 用python3+PyQt5改写Python Qt GUI快速编程的第6章实例主窗口
- 如何设置nginx反向代理实现服务器瞬间故障转移
- 如何用BarTender连接EXCEL中的多个工作表
- 计算机
- 昨天*今天*明天
- Bundle Adjustment到底是什么?
- selenium+webdriver+python 滚动条(scrollTop)下拉
- Ubuntu git 安装和使用
- 通过 lua 进行 nginx redis 访问控制
- eclipse上sonarlint插件安装