首页 > 网站 > Nginx > 正文

Nginx代理服务的详细配置说明

2024-08-30 12:23:53
字体:
来源:转载
供稿:网友
  Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。
  Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。
  Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。
  1、我们在http模块中有下面的配置,当代理遇到状态码为404时,我们把404页面导向百度。
  error_page 404 ;#百度错误页
  然而这个配置,细心的朋友可以发现他并没有起作用。
  如果我们想让他起作用,我们必须配合着下面的配置一起使用
  proxy_intercept_errors on;#如果被代理服务器返回的状态码为400或者大于400,设置的error_page配置起作用。默认为off。
  2、如果我们的代理只允许接受get,post请求方法的一种
  proxy_method get; #支持客户端的请求方法。post/get;
  3、设置支持的http协议版本
  proxy_http_version 1.0 ;#Nginx服务器提供代理服务的http协议版本1.0,1.1,默认设置为1.0版本
  4、如果你的nginx服务器给2台web服务器做代理,负载均衡算法采用轮询,那么当你的一台机器web程序iis关闭,也就是说web不能访问,那么nginx服务器分发请求还是会给这台不能访问的web服务器,如果这里的响应连接时间过长,就会导致客户端的页面一直在等待响应,对用户来说体验就打打折扣,这里我们怎么避免这样的情况发生呢。这里我配张图来说明下问题。

  之前说nginx有哪些中负载均衡算法。这一结我就给如果操作配置的给大家做详细说明下。
  首先给大家说下upstream这个配置的,这个配置是写一组被代理的服务器地址,然后配置负载均衡的算法。这里的被代理服务器地址有2中写法。
  复制代码
  upstream mysvr {
  server 192.168.10.121:3333;
  server 192.168.10.122:3333;
  }
  server {
  ....
  location  ~*^.+$ {
  proxy_pass  http://mysvr;#请求转向mysvr 定义的服务器列表
  }
  复制代码
  复制代码
  upstream mysvr {
  server  http://192.168.10.121:3333;
  server  http://192.168.10.122:3333;
  }
  server {
  ....
  location  ~*^.+$ {
  proxy_pass  mysvr;#请求转向mysvr 定义的服务器列表
  }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表