nginx安装、配置、负载均衡

上传人:飞*** 文档编号:49019881 上传时间:2018-07-22 格式:PPT 页数:25 大小:579KB
返回 下载 相关 举报
nginx安装、配置、负载均衡_第1页
第1页 / 共25页
nginx安装、配置、负载均衡_第2页
第2页 / 共25页
nginx安装、配置、负载均衡_第3页
第3页 / 共25页
nginx安装、配置、负载均衡_第4页
第4页 / 共25页
nginx安装、配置、负载均衡_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《nginx安装、配置、负载均衡》由会员分享,可在线阅读,更多相关《nginx安装、配置、负载均衡(25页珍藏版)》请在金锄头文库上搜索。

1、Nginx安装与配置泽元软件目录Nginx简介名词解释选择Nginx的理由Nginx的安装配置Nginx配置文件说明Nginx负载均衡配置Nginx部署时遇到的问题Nginx (“engine x”) 是俄罗斯人Igor Sysoev(塞索耶夫)编 写的一款高性能的 HTTP 和反向代理服务器。 Nginx 已经在俄罗斯最大的门户网站 Rambler Media( www.rambler.ru)上运行了3年时间,同时俄罗斯超过20%的虚 拟主机平台采用Nginx作为反向代理服务器。 在国内,已经有 新浪博客、新浪播客、网易新闻、六间房、 、Discuz!、水木社区、豆瓣、YUPOO、海内、迅雷

2、在线 等多家网站使用 Nginx 作为Web服务器或反向代理服务器Nginx简介www服务器、http服务器 主要功能是提供网上信息浏览服务名词解释Web服务器反向代理负载均衡反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器 负载均衡(又称为负载分担),英文名称为Load Balance,其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关

3、键任务服务器等,从而共同完成工作任务。 Apache、Nginx、Lighttpd、Tomcat、IBM WebSphere其中最为广泛的是ApacheApache: 60%占有率 重量级的Web服务器优点 跨平台、模块丰富。缺点 速度性能较其他web服务器差、消耗内存较高Lighttpd内存开销低、性能好、模块较丰富 轻量级web服务器Tomcat 服务器对静态文件、高并发处理较弱IBM WebSphere在Apache的基础上增加了SSL和在线网页HTTP SERVER配置功能名词解释Unix和linux平台下常用的web服务器名词解释反向代理名词解释负载均衡选择Nginx的理由支持高并发

4、链接支持高达5万个并发连接数响应内存消耗小Nginx+php服务器在3W并发链接下开启10个Nginx进程只消耗150MB高性能实际生产环境 两台Nginx+php5运行多个复杂性一般的纯php动态程序 处理能力可达到 700次请求/秒 相当于每天可承受6000万的访问量 (700*60*60*24=60480000)同等硬件环境下,Nginx的处理能力是Apache的510倍选择Nginx的理由成本低廉购买F5 Big-IP NetScaler硬件负载均衡交换机几十万 Nginx基于BSD开源协议 免费的、可商用支持rewrite重写规则能够根据域名、URL的不同 将HTTP请求分发到不同的

5、后端服务器群组内置的健康检查功能如果Nginx Proxy后端的某Web服务器宕机了,不会影响前端访问 节省带宽支持GZIP压缩 可以添加浏览本地缓存的Header头稳定性高使用反向代理、几乎不会宕机支持热部署不断服务 进行更新Nginx的安装配置准备的软件:nginx-1.0.10.tar.gz zlib-1.2.3.tar pcre- 8.12.tar.gz1.将软件包上传至服务器的/upload文件夹2.Nginx的安装依赖第三方包,首先编译安装zlib、pcretar xvf zlib-1.2.3.tar tar zxvf pcre-8.12.tar.gz 分别./configure

6、worker_connections 51200;Nginx的配置文件说明Nginx.confhttp include mime.types;default_type application/octet-stream;#使nginx服务器支持ssissi on;ssi_silent_errors off;ssi_types text/shtml;#access_log logs/access.log main;sendfile on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on; Nginx的配置文件说明Nginx.confserver#

7、监听的IP和端口listen 192.168.1.105:80;#虚拟主机的域名server_name ;#charset gbk#虚拟主机的访问日志access_log /usr/local/nginx/logs/.access.log combined;location / #指向test1域名服务器的文件地址root /home/igoss/eedoo/wwwroot/ZCMSDemo;#查找首页文件index index.shtml index.html; Nginx的负载均衡配置Nginx 负载均衡基础知识 nginx的upstream目前支持4种方式的分配1)、轮询(默认) 每个请

8、求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down掉,能自动剔除。2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均 的情况。3)、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端 服务器,可以解决session的问题。4)、fair(第三方)按后端服务器的响应时间来分配请求,响应时间短的优先分配。 Nginx的负载均衡配置Nginx 负载均衡核心配置upstream bbs.linuxtone.org #定义负载均衡设备的Ip及设备状态server 127.0.0.1:9090 down;server 192

9、.168.1.12:8080 weight=2;server 192.168.1.13:6060;server 1192.168.1.14:7070 backup; 在需要使用负载均衡的server中增加 proxy_pass http:/bbs.linuxtone.org/; a) down 表示当前的server暂时不参与负载 b) weight 默认为1.weight越大,负载的权重就越大。 c) max_fails :在fail_timeout时间内对后台服务器请求失败的 次数d) fail_timeout:max_fails次失败后,暂停的时间。 e) backup: 其它所有的非b

10、ackup机器down或者忙的时候,请求 backup机器。所以这台机器压力会最轻。 Nginx部署时遇到的问题1.写在nginx.conf里的代码 别忘了要加; 2. ssi 包含区块找不到/nginx会找不到 解决方法:src/http/modules/ngx_http_ssi_filter_module.c 找到源码里这个文件 if (ngx_http_parse_unsafe_uri(r, uri, 然后把这行删掉 然后重新编译源代码Nginx部署时遇到的问题3.请求转发问题 一台服务器运行tomcat 为8080端口,IP:192.168.1.2:8080,另一台 机器IP:192.

11、168.1.8. 想通过访问http:/192.168.1.8即可访问tomcat 服务.在192.168.1.8的nginx.conf上配置如下: server listen 80; server_name 192.168.1.8 location / proxy_pass http:/192.168.1.2:8080; Nginx部署时遇到的问题4.负载均衡中的session问题 解决办法:(1 )ip_hash(2 ) nginx-upstream-jvm-route (Nginx + tomcat )nginx中的ip_hash技术能够将某个ip的请求定向到同一台后端,这样 一来这个i

12、p下的某个客户端和某个后端就能建立起稳固的session, ip_hash是在upstream配置中定义的:upstream backend ip_hash; server 127.0.0.1:8001;server 127.0.0.1:8002;Nginx部署时遇到的问题ip_haship_hash是容易理解的,但是因为仅仅能用ip这个因子来分配后端, 因此ip_hash是有缺陷的,不能在一些情况下使用:1/ nginx不是最前端的服务器。ip_hash要求nginx一定是最前端的服务 器,否则nginx得不到正确ip,就不能根据ip作hash。譬如使用 的是 squid为最前端,那么ngi

13、nx取ip时只能得到squid的服务器ip地址 2/ nginx的后端还有其它方式的负载均衡。假如nginx后端又有其它负 载均衡,将请求又通过另外的方式分流了,那么某个客户端的请求不能 定位到同一 台session应用服务器上 Nginx部署时遇到的问题nginx-upstream-jvm-route 基于nginx+tomcat的解决方案patch -p0 tomcat的配置文件修改 Server.xmlTomcat01:Tomcat02:Nginx部署时遇到的问题nginx的配置文件修改upstream backend server 192.168.2.88:8080 srun_id=a;server 192.168.2.89:8080 srun_id=b;jvm_route $cookie_JSESSIONID|sessionid reverse; location / aa/ proxy_pass http:/backend;proxy_redirect off;proxy_set_header X-Forwarded-For; $proxy_add_x_forwarded_for;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $http_host;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号