仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 430|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 给大家带来nginx完成负载平衡

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:09:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识:虽然与RedHat之间并没有正式的联系,但OpenLogic提供CentOS支持的计划仍然会依赖于——或者说至少部分依赖于RedHat社区。
1、筹办篇:
Nginx负载办事器:
Centos6.2
IP:192.168.1.93
WEB办事器:
Web1:192.168.1.155
Web2:192.168.1.205
完成目标:用户会见192.168.1.93时,经由过程Nginx负载到WEB1和WEB2
=============================================
2、设置Nginx负载平衡办事器
设置好WEB1和WEB2的情况和上传好步伐。确保两台办事器数据坚持分歧!
1.1封闭Selinux
#vi/etc/selinux/config
#SELINUX=enforcing修正为disabled
#:wq
#shutdown-rnow
2.2文件寄存:
软件源代码寄存地位:/usr/local/src
远吗编译装置地位:/usr/local/软件名字
2.3下载软件包
下载nginx(今朝不乱版)
http://nginx.org/download/nginx-1.0.15.tar.gz
下载pcre
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz
下载ngx_cache_purge(扫除指定URL缓存,便利今后扩大设置nginx缓存办事器)
http://labs.frickle.com/files/ngx_cache_purge-1.5.tar.gz
2.4装置编译工具库
#yuminstall-ymakeapr*autoconfautomakecurlcurl-develgccgcc-c++
zlib-developensslopenssl-develpcre-develgdkernelkeyutilspatchperl
kernel-headerscompat*cppglibclibgomplibstdc++-devel
keyutils-libs-devellibsepol-devellibselinux-develkrb5-devel
zlib-devellibXpm*freetypelibjpeg*libpng*php-commonphp-gdncurses*
libtool*libxml2libxml2-develpatch

======================================
3、装置篇
#groupaddwww#增加www组
#useradd-gwwwwww-s/bin/false#创立nginx运转账户www并到场到www,不同意www用户间接登录体系cd/usr/local/src#进进装置目次
#tarzxvfngx_cache_purge-1.5.tar.gz#解压
#tarzxvfnginx-1.0.15.tar.gz#解压
#tarzxvfpcre-8.30.tar.gz #解压
#cdnginx-1.0.15

#./configureCprefix=/usr/local/nginxCwithout-http_memcached_module
Cuser=wwwCuser=wwwCgroup=wwwCwith-http_stub_status_module
Cwith-openssl=/usr/
Cwith-pcre=/usr/local/src/pcre-8.30Cadd-module=../ngx_cache_purge-1.5#设置
注重:Cwith-pcre=/usr/local/src/pcre-8.30指向的是源码包解压的路径,而
不是装置的路径,不然会报错
#make#编译
#makeinstall#装置
#/usr/local/nginx/sbin/nginx#启动Nginx

设置nginx开启启动
#echo“/usr/local/nginx/sbin/nginx”>>/etc/rc.local

=======================================================
4、设置篇
设置Nginx
#备份nginx设置文件
#cp/usr/local/nginx/conf/nginx.conf/usr/local/nginx/conf/nginx.conf.bak
4.1设置nginx运转账号
#vi/usr/local/nginx/conf/nginx.conf#编纂
找到usernobody;修正为userwwwwww;#在第一行
4.2克制nginx空主机头
#vi/usr/local/nginx/conf/nginx.conf#编纂找到server,在下面一行增加以下内容:
##############################
server{
listen80default;
server_name_;
location/{

roothtml;
return404;
}
location~/.ht{
denyall;
}
}
##############################

#/usr/local/nginx/sbin/nginx-sreload#光滑重启nginx办事
如许设置好今后,空头主机会见会间接跳转到nginx404界面
4.3增加nginx假造主机包括文件
#cd/usr/local/nginx/conf/#进进nginx装置目次
#mkdirvhost#创建假造目次
#vi/usr/local/nginx/conf/nginx.conf#编纂
找到上一步增加的代码,在最初增加以下内容:includevhost/*.conf;比方:
##############################
server{
listen80default;
server_name_;
location/{
roothtml;
return404;
}
location~/.ht{
denyall;
}
}
includevhost/*.conf;
##############################

4.4增加Web办事器列表文件
#cd/usr/local/nginx/conf/#进进目次
#touchvhost.conf#创建文件
#vi/usr/local/nginx/conf/nginx.conf#编纂
找到上一步增加的代码,鄙人面增加一行
includevhost.conf;
4.5设置nginx全局参数
vi/usr/local/nginx/conf/nginx.conf#编纂
worker_processes2;#事情历程数,为CPU的中心数大概两倍
events
{
useepoll;#增添
worker_connections65535;#修正为65535,最年夜毗连数。
}
#############以下代码在http{局部增添与修正##############
server_names_hash_bucket_size128;#增添
client_header_buffer_size32k;#增添
large_client_header_buffers432k;#增添
client_max_body_size300m;#增添
tcp_nopushon;#修正为on
keepalive_timeout60;#修正为60
tcp_nodelayon;#增添
server_tokensoff;#增添,不显现nginx版本信息
gzipon;#修正为on
gzip_min_length1k;#增添
gzip_buffers416k;#增添
gzip_http_version1.1;#增添
gzip_comp_level2;#增添
gzip_typestext/plainapplication/x-javascripttext/CSS
application/xml;#增添
gzip_varyon;#增添

====================================================
4.6设置Web办事器列表
#cd/usr/local/nginx/conf/#进进目次
#vivhost.conf#编纂,增加以下代码
upstreamosyunweihost{
server192.168.1.155:80weight=1max_fails=2fail_timeout=30s;
server192.168.1.205:80weight=1max_fails=2fail_timeout=30s;
ip_hash;
}
4.7新建假造主机设置文件

#cd/usr/local/nginx/conf/vhost#进进假造主机目次
#touchvhost.conf#创建假造主机设置文件
#vivhost.conf#编纂
server
{
listen80;
server_namewww.a.combbs.a.comsns.a.com;
location/
{
proxy_next_upstreamhttp_502http_504errortimeout
invalid_header;
proxy_passhttp://ahost;
#proxy_redirectoff;
proxy_set_headerHost$host;
proxy_set_headerX-Forwarded-For$remote_addr;
}
log_formataccess‘$remote_addrC$remote_user[$time_local]
$request‘
‘”$status”$body_bytes_sent
“$http_referer”‘
‘”$http_user_agent”
“$http_x_forwarded_for”‘;
access_log/usr/local/nginx/logs/access.logaccess;
location/NginxStatus{
stub_statuson;
access_logon;
auth_basic“NginxStatus”;
#auth_basic_user_filepwd;
}
}
:wq!#保留设置
#/usr/local/nginx/sbin/nginx-srelooad#光滑重启nginx

==================================================
5、测试篇
域名:
www.a.com
bbs.a.com
sns.a.com
分离剖析到192.168.1.93
客户会见这三个站点的时分,Nginx依据客户会见的ip_hash值,负载平衡到Web1和Web2办事器上。

至此Nginx负载平衡设置完成。
小知识:Linux操作系统的诞生创始人林纳斯·托瓦兹。
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-17 06:31:15 | 只看该作者
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
蒙在股里 该用户已被删除
板凳
发表于 2015-1-25 17:38:43 | 只看该作者
有疑问前,知识学习前,先用搜索。
变相怪杰 该用户已被删除
地板
发表于 2015-2-3 12:48:27 | 只看该作者
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
灵魂腐蚀 该用户已被删除
5#
发表于 2015-2-9 03:08:49 | 只看该作者
掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。
飘灵儿 该用户已被删除
6#
发表于 2015-2-26 20:08:56 | 只看该作者
请问谁有Linux的学习心得的吗?简单的说说?
小妖女 该用户已被删除
7#
发表于 2015-3-8 17:49:17 | 只看该作者
直到学习Linux这门课以后,我才知道,原来我错了。?
若天明 该用户已被删除
8#
发表于 2015-3-16 12:06:05 | 只看该作者
为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
海妖 该用户已被删除
9#
发表于 2015-3-22 23:14:01 | 只看该作者
其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-11 00:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表