Nginx反向代理与负载均衡
来源:互联网 发布:小波分析算法与应用 编辑:程序博客网 时间:2024/06/06 17:28
标签(空格分隔): nginx
1 反向代理:Web服务器的“经纪人”
1.1 反向代理初印象
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
从上图可以看出:反向代理服务器位于网站机房,代理网站Web服务器接收Http请求,对请求进行转发。
1.2 反向代理的作用
1.2.1 保护网站安全:任何来自Internet的请求都必须先经过代理服务器;
1.2.2 通过配置缓存功能加速Web请求:可以缓存真实Web服务器上的某些静态资源,减轻真实Web服务器的负载压力;
1.2.3 实现负载均衡:充当负载均衡服务器均衡地分发请求,平衡集群中各个服务器的负载压力;
2 设定最最简单的负载均衡
2.1 设定两台虚拟服务器
新建文件 192.168.8.200:80,设定虚拟主机
server { listen 80; server_name 192.168.8.200; #设定本虚拟主机的访问日志 access_log logs/192.168.8.200.log; }
新建文件 192.168.8.201:80,设定虚拟主机
server { listen 8080; server_name 192.168.8.201; index index.html index.htm; root /var/www/html; }
2.2 配置负载均衡服务器
#设定http服务器,利用它的反向代理功能提供负载均衡支持 #设定负载均衡的服务器列表 upstream myProxy1 { #weigth参数表示权值,权值越高被分配到的几率越大 server 192.168.8.200:80 weight=2; server 192.168.8.201:80 weight=8;} server{ /*****************省略N多***********************/ listen 80; server_name demo.proxy.com; access_log logs/$host.access.log main; error_log logs/$host.error.log; root html; index index.html index.htm index.php; # 将动态文件.php请求转发给后端 http://myProxy 负载均衡服务器列表 location ~ \.php$ { proxy_pass http://myProxy; proxy_redirect off; # 传递真实IP到后端 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #nginx跟后端服务器连接超时时间(代理连接超时) proxy_connect_timeout 90; proxy_read_timeout 90; proxy_send_timeout 90; #设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffer_size 4k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置 proxy_buffers 4 32k; #高负荷下缓冲大小(proxy_buffers*2) proxy_busy_buffers_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传 proxy_temp_file_write_size 64k; #允许客户端请求的最大单文件字节数 client_max_body_size 10m; #缓冲区代理缓冲用户端请求的最大字节数, client_body_buffer_size 128k; } }
3 开启gzip
#压缩配置# gzip on; #打开gzip压缩功能 gzip_min_length 1k; #压缩阈值 gzip_buffers 4 16k; #buffer 不用修改 gzip_comp_level 2; #压缩级别:1-10,数字越大压缩的越好,时间也越长 gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; # 压缩文件类型 gzip_vary off; #跟Squid等缓存服务有关,on的话会在Header里增加 "Vary: Accept-Encoding" gzip_disable "MSIE [1-6]\."; #IE1-6版本不支持gzip压缩
4 缓存静态资源
缓存图片
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { root static/image; if(-f $request_filename){ expires 7d; break; }}
缓存css
location ~ .*\.(css)$ { root static/css; if(-f $request_filename){ expires 7d; break; }}
缓存js
location ~ .*\.(js)$ { root static/js; if(-f $request_filename){ expires 7d; break; }}
阅读全文
0 0
- nginx负载均衡与反向代理
- 【Nginx】Http负载均衡与反向代理
- Nginx反向代理与负载均衡
- nginx反向代理与负载均衡
- Nginx的反向代理与负载均衡
- Nginx 的反向代理与负载均衡
- nginx反向代理与负载均衡
- Nginx------什么是反向代理与负载均衡
- Nginx反向代理与负载均衡
- Nginx负载均衡与反向代理
- nginx反向代理与负载均衡
- nginx的反向代理与负载均衡
- Nginx反向代理与负载均衡
- Nginx负载均衡与反向代理
- Nginx反向代理与负载均衡
- Nginx的反向代理与负载均衡
- 反向代理负载均衡Nginx
- nginx反向代理,负载均衡
- C#练习:实现基本计算器功能,考虑运算符优先级
- 递归求Fabonacci数列
- 媳妇写给婆婆一封大逆不道却又非常合情合理且发人深思的信
- 【AppScan深入浅出】修复漏洞:启用不安全的HTTP方法 (中)
- bootstrap总结
- Nginx反向代理与负载均衡
- 十进制转换二进制
- **Leetcode 32. Longest Valid Parentheses
- 正则表达式
- 详解斯坦纳点及斯坦纳树及模版归纳总结
- Android开发环境搭建
- Thread类之线程中断
- 机器学习之概率与统计(三)- 极大似然估计
- Ionic生成Android程序并签名