时间:2015-08-14 来源:

keepalived+nginx安装配置 【编程语言】

软件版本:
pcre8.36 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz  
keepalived1.2.19
http://www.keepalived.org/software/keepalived-1.2.19.tar.gz
nginx1.8.0
http://nginx.org/download/nginx-1.8.0.tar.gz<pre name="code" class="html"><pre name="code" class="html">安装步骤
安装pcre
tar -zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure --prefix=/usr/local/pcre
make && make install
安装keepalived
tar -zxvf keepalived-1.2.19.tar.gz
cd keepalived-1.2.19
./configure --prefix=/usr/local/keepalived
make && make install
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir –pv /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
chkconfig keepalived on
安装nginx
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre/
make && make install

<strong><span style="font-size:18px;">启动和停止</span></strong>
Nginx:
启动:进入到安装之后${nginx}的sbin目录psd切图html,执行./nginx
停止:./nginx –s stop
检查是否安装成功:进入到安装之后${nginx}的sbin目录,psd切图html执行./nginx -t
 
Keepalived
启动:service keepalived start
停止:service keepalived stop

<strong><span style="font-size:18px;">配置</span></strong>
配置Keepalived
主备keepalived的配置大致相同,团队网页接活不同之处在于state和priority.如下所示:
! Configuration File for keepalived
#配置报警邮件
global_defs {
   notification_email {
     acassen@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
#配置keepalived服务器实例
vrrp_instance VI_1 {#VI_1为名称
    state MASTER  #MASTER为主服务器,div切图排版BACKUP为备用服务器
    interface p2p1  #p2p1为网卡标志
    virtual_router_id 51 #51为默认值
    priority 100  #主服务器的优先级要大于备服务器
    advert_int 1 #1为默认值
    authentication {#认证div页面,不能与现有IP冲突
        200.31.157.243
    }
}
配置Nginx
Nginx的基本配置如下所示:
#user  nobody; #用户名称
worker_processes  auto; #处理进程个数div+css+js切图,一般为自动分配
error_log   logs/error.log; #错误日志记录位置
#error_log  logs/error.log  notice; #notice/info等为记录错误的级别
#error_log  logs/error.log  info;
pid        logs/nginx.pid; #进程记录文件

events {
    worker_connections  5120; #可处理的连接数,div+css+js切图最大处理能力为processes×connections
}

http {
    include       mime.types;
default_type  application/octet-stream;
#配置日志格式(main为自定义格式名称)
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main; #日志文件位置
    keepalive_timeout  65; #连接超时时间
    proxy_connect_timeout 10; #后台服务器响应超时时间

    #配置反向代理
    upstream tomcat{ #tomcat为名称
	  server 200.31.157.116:8090 weight=1; #后台服务器的地址以及端口号承接网站前端,weight为权重 
	  server 200.31.157.117:8090 weight=1;
    }    

    #配置负载均衡,页面div重构Server为nginx服务器
    upstream nginx{
       server 200.31.157.116:8084 weight=1;
	  server 200.31.157.117:8084 weight=1;
}

#配置处理请求Server
    server{
        listen       8084; #监听的端口号
        server_name  200.31.157.243; #自定义服务名称psd切图html,不能与其他Server有冲突
        #charset koi8-r;  #定义字符集
        #access_log  logs/host.access.log  main; #定义日志名称与日志格式(main)

        #设定访问处理规则,psd切图html如果路径以/cwap开头web外包,则通过以下规则进行处理
        location /cwap {
	      proxy_pass http://tomcat; #反向代理到tomcat服务器该处的tomcat为upstream名称
	      proxy_redirect off;
	      proxy_set_header Host $host; #以下是读取访问IP
	      proxy_set_header X-Real-IP $remote_addr;
	      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location / {
           root   html; #根目录
           index  index.html index.htm;
        }
        #error_page  404              /404.html; #配置错误页面

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server{
        listen       80;
        server_name  localhost;
        access_log  logs/access.log  main;
        location /cwap {
	      proxy_pass http://nginx;
	      proxy_redirect off;
	      proxy_set_header Host $host;
	      proxy_set_header X-Real-IP $remote_addr;
	      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location / {
           root   html;
           index  index.html index.htm;
	      #expires 1d; #页面缓存时间
        }
        error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

<strong><span style="font-size:18px;">负载均衡</span></strong>
nginx 的 upstream目前支持 4 种方式的分配
轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,web外包如果后端服务器down掉网页切图制作,能自动剔除.
weight
定轮询几率,div页面weight和访问比率成正比div+css+js切图,用于后端服务器性能不均的情况.
ip_hash
每个请求按访问ip的hash结果分配,div+css+js切图这样每个访客固定访问一个后端服务器承接网站前端,可以解决session的问题.
fair(第三方)
按后端服务器的响应时间来分配请求,承接网站前端响应时间短的优先分配.
在http中upstream配置中psd切图html,weight越大web外包,负载的权重越大
        #其它所有非backup机器down或忙时,web外包请求backup机器.所以这台机器压力会最轻
	server 200.31.157.117:9090 backup;		
<span style="white-space:pre">	</span>server 200.31.157.117:8084 fail_timeout=10s; #失败后的暂停时间
<span style="white-space:pre">	</span>#最大失败次数为2,失败后暂停时间为10
	server 200.31.157.117:8083 max_fails=2  fail_timeout=10s; 
}	

版权声明:本文为博主原创文章,手机页面切图排版未经博主允许不得转载.

点击次数:5858
作者:
web前端行业资讯
Web new NewsList
英特尔宣布与法拉利跨界合作欲将AI技术用于赛车运动 ,,2018年01月11日甲骨文服务器出漏洞:攻击者用漏洞挖矿获取加密货币 ,,2018年01月11日用深度学习设计图像视频压缩算法:更简洁、更强大 ,,2018年01月11日Ubuntu内核和NVIDIA更新:修复Meltdown和Spectre两处漏洞 ,,2018年01月11日AntDesign3.1.1发布,阿里企业级UI设计语言 ,,2018年01月11日微信「跳一跳」带火小游戏,开发者如何快速上手? ,,2018年01月11日谷歌公布最新安卓系统份额:你用上奥利奥了么? ,,2018年01月11日腾讯开发出“3D音效”算法:普通耳机实现3D实时语音效果 ,,2018年01月11日谷歌工程师点赞中国程序员实现Node.js启动超4倍提速 ,,2018年01月11日三星电子总裁兼CE部门负责人金炫奭:万物互联时代到来 ,,2018年01月11日NVIDIA和大众合作建立智能驾驶助手 ,,2018年01月11日GIMPS项目报告发现已知最大素数 ,,2018年01月11日微软与生物技术公司开展AI驱动的血液检测同时诊断数十种疾病 ,,2018年01月11日微软跨平台移动开发工具套件HockeyApp宣布免费 ,,2018年01月11日《硅谷》里神乎其神的压缩技术,AI正在一点点做出来 ,,2018年01月11日LinuxMint19代号敲定为“Tara”预计2018年5月至6月期间发布 ,,2018年01月11日Facebook发布wav2letter工具包,用于端到端自动语音识别 ,,2018年01月11日开源数据库ArangoDB正进行约1156万美元股权融资 ,,2018年01月11日IntelCPU漏洞闹大:腾讯云紧急升级 ,,2018年01月11日2018年1月全球数据库排名:Redis夺回第八 ,,2018年01月11日Lyft将联手无人驾驶公司于CES上展示无人驾驶汽车 ,,2018年01月11日京东X无人超市首家社会门店开业:刷脸进、微信自动结算 ,,2018年01月11日担心被AI取代是杞人忧天?高晓松跨年演讲说的有几分对 ,,2018年01月11日免费授权技术许可Intel宣布在未来CPU中集成雷电3 ,,2018年01月11日算法决定你在社交媒体上看到的信息 ,,2018年01月11日谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日Java实现图片裁剪预览功能 【编程语言】2015年07月09日Java垃圾收集器的算法 【编程语言】2015年05月05日linux下c++实现单例模式 【移动开发】2015年01月07日java学习实例,实现空对象,和重写了,Comparator的类实现了对于容器的比较!【移动开发】2015年05月12日IOS播放动态Gif图片【编程语言】2015年06月03日iOSgit版本控制的使用(终端),常用指令使用 【云计算】2015年03月27日Mysql和网页显示乱码解决方法集锦2014年01月29日申请apple开发者账号的波折(续) 【编程语言】2014年12月10日Gradle1.12用户指南翻译——第三十二章.JDepend插件 【移动开发】2015年06月26日php执行sql语句的写法2014年01月29日Python标准库:内置函数dict(iterable,**kwarg) 【架构设计】2014年11月27日【解决问题.思路篇】StringIndexOutOfBoundsException:Stringindexoutofrange:-12016年11月08日ImplementingScreenExitforthetransactionCO01 【综合】2015年03月02日TCPIP解析(一):TCPIP的工作方式 【编程语言】2015年07月24日单独打印Excel指定区域的妙招2014年01月28日基于STM32的学习型通用红外遥控设备的设计实现(三) 【编程语言】2014年12月29日SpiralMatrix&&SpiralMatrixII【编程语言】2015年06月11日用一个状态来实现并发【移动开发】2015年05月25日第五周项目二-对象作为数据成员 【移动开发】2015年04月07日我的论坛源代码(七)2014年01月29日Tinyxml简单使用法【研发管理】2015年04月13日提高代码的重用性之——泛型 【编程语言】2015年03月26日快速基于echarts的大数据可视化 【综合】2015年07月10日老谢:个人站长在冬天该如何保暖2014年01月28日OpenGLES3.0增加大量新特性 ,,2016年07月24日CentOSLinux连接iscsi磁盘阵列 【综合】2015年02月11日《Windows程序设计第5版》第3章窗口与消息笔记 【编程语言】2015年04月27日Android下使用pull解析器生成XML文件、读取XML文件 【编程语言】2015年06月11日安卓微信登陆【移动开发】2015年02月27日探讨:如何在ScrollView中嵌套ListView2014年01月30日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)