运维解决方案-nginx实现服务器高可用群集

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

nginx负载均衡方案李俊鹏:xiaopengi386@gmail.comcuid:loveradmin(小鹏)运维解决方案负载均衡技术常见集群负载有三种:Nginx,LVS,HAProxyNginx是一个高性能的HTTP,适用于高并发,承受轻量级的web服务,同时也可以做7层负载均衡服务器。LVS是将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器,在基于IP层和基于内容请求分发给出了负载平衡调度解决方法。HAPorxy支持双机热备支持虚拟主机,其配置简单也很容易理解,拥有非常不错的服务器健康检查功能,当代理的后端服务器出现故障,HAProxy会自动将该服务器摘除,待故障恢复后再自动将该服务器加入。运维解决方案负载均衡技术Nginx方案优势:1,配置编译简单,有相应的扩展模块。2,调度请求分配方式易操作,分两种:NFS,keepalive。3,刚刚做运维的人很容易入手的选择。今天我们重点讲下nginx负载均衡,和nfs分布式的设置。负载均衡技术运维解决方案拓扑结构图:用户负载均衡器用户负载均衡器用户负载均衡器数据库服务器应用服务器负载均衡技术运维解决方案访问逻辑:用户请求信息返还nginx用户负载均衡技术运维解决方案应用服务器发生故障:用户负载均衡器应用服务器发生故障的情形负载均衡技术运维解决方案安装配置•编译安装nginxwget=26573&ResourceID=7416&site=1tar–zxvfnginx-0.0.8.10.tar.gz./configuration--prefix=/usr/local/nginx-load--sbin-path=/usr/local/nginx-load/sbin/nginx--conf-path=/usr/local/nginx-load/conf/nginx.conf--error-log-path=/usr/local/nginx-load/logs/error.log--http-log-path=/usr/local/nginx-load/logs/access.log--pid-path=/usr/local/nginx-load/var/nginx.pid--lock-path=/usr/local/nginx-load/var/nginx.lock--http-client-body-temp-path=/dev/shm/nginx_temp_load/client_body--http-proxy-temp-path=/dev/shm/nginx_temp_load/proxy--http-fastcgi-temp-path=/dev/shm/nginx_temp_load/fastcgi--with-cpu-opt=pentium4F--without-select_module--without-poll_module--with-http_realip_module--with-http_gzip_static_module--with-http_stub_status_module--without-http_userid_module--without-http_geo_module--without-http_memcached_module--without-http_map_module--without-mail_pop3_module--without-mail_imap_module--without-mail_smtp_module--with-pcre=/usr/local/src/pcre-8.10--with-http_stub_status_modulemakemakeinstall负载均衡技术运维解决方案Nginx配置文件Cd/usr/local/nginx-loadViconf/nginx.conf•upstreambbs.test.com#配置你的主域名,•{•server192.168.0.251:80weight=3;•server192.168.0.254:80weight=3;#这段不用我讲,是后端两台web服务器•}•server{•listen121.10.145.67:80;•listen221.15.143.68:80;•server_namebbs.test.com;•if($fastcgi_script_name~\..*\/.*php){return403;}•location/{•proxy_next_upstreamhttp_502http_504errortimeoutinvalid_header;#这的配置和HAProxy的应用一样•proxy_pass•proxy_set_headerHost$host;•proxy_set_headerX-Real-IP$remote_addr;•proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;•}•access_log/data/logs/bbs.test.com/access.logcombined;•error_log/data/logs/bbs.test.com/error.logcrit;•}•这些是其实才是最重要的,前面部分都是基本配置参数,例如nginx使用cache的设置等。负载均衡技术后端webnginx配置这里要讲的是后端怎么去设置,怎么能相应前端代理发来的请求。•server{•listen192.168.0.251:80;#后端请求地址,也就是内网地址•return404;•access_log/home/logs/bbs.test.com/access.logcombinedbuffer=32k;•error_log/home/logs/bbs.test.com/error.logcrit;•if($fastcgi_script_name~\..*\/.*php){return403;}•include/usr/local/nginx/conf/agent.conf;•location/{•indexindex.php;•root/date/•if(!-e$request_filename){•rewrite^([^\.]*)/([^/]*?)(/$)$1/space.php?username=$2permanent;•}•rewrite^(.*)/(space|network)\-(.+)\.html$$1/$2.php?rewrite=$3last;•rewrite^(.*)/(space|network)\.html$$1/$2.phplast;•rewrite^(.*)/([0-9]+)$$1/space.php?uid=$2last;•}•location~*^.+.(jpg|jpeg|gif|css|png|js|ico|thumb)${•root/data/•access_logoff;•expires10d;•}••location~.*(diy|template|attachments|forumdata|attachment|images|customavatars)/.*\.php${•denyall;•}•location~\.php${•includefastcgi_params;•fastcgi_passunix:/tmp/php-fcgi.sock;•fastcgi_indexindex.php;•fastcgi_paramSCRIPT_FILENAME/home/•}•}负载均衡技术运维解决方案•/bin/mount-tnfs-onolock192.168.0.248:/data/将这条命令在后端的两台服务器上执行下,文件的分布式也就做好了。测试下:每台web上的目录里面放个index.php,然后内容不同哦!?phpEcho“web-254”?负载均衡技术运维解决方案转发状态察看在这部分nginx做的不如LVS,LVS可以通过ipvsadm–lcn.这里我通过一个文件去查看tail–n200/var/log/messages#常用系统日志负载均衡技术运维解决方案谢谢负载均衡技术运维解决方案

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功