Puppet利用Nginx多端口实现负载均衡

随着公司应用需求的增加,需要不断的扩展,服务器数量也随之增加,当服务器数量不断增加,我们会发现一台puppetmaster压力大,解析缓慢,而且时不时出“Timeout”之类的报错,那这时有什么优化的办法吗?我们在Puppet官网上找寻解决方案,发现puppetmaster可以配置多端口,结合WEB代理(推荐轻量级的负载均衡器Nginx),这样puppetmaster承受能力至少可以提升数倍以上,相当于在很大程度上优化了puppet的处理能力。

1.遵循前面的环境设定,我们这里的服务器环境及软件版本分别为:

服务器系统:CentOS5.8 x86_64

Ruby版本:ruby-1.8.5

Puppet版本:puppet-2.7.9

Nginx版本:nginx-0.8.46

2.Mongrel安装

要使用puppet多端口配置,需要指定mongrel类型,默认没有安装,需要安装:

yum install -yrubygem-mongrel

3.配置puppetmaster

在/etc/sysconfig/puppetmaster文件末尾添加如下两行,分别代表多端口、mongrel类型,内容如下所示:

PUPPETMASTER_PORTS=(8141 8142 8143 81448145)

PUPPETMASTER_EXTRA_OPTS="--servertype=mongrel--ssl_client_header=HTTP_X_SSL_SUBJECT"

4.安装Nginx服务

安装之前请确保系统已经安装pcre-devel正则库,然后再编译安装Nginx,需要添加SSL模块参数支持,Nginx的安装过程如下所示:

yum -y install pcre-devel

cd /usr/local/src

wgethttp://nginx.org/download/nginx-0.8.46.tar.gz

tar zxvf nginx-0.8.46.tar.gz

cd nginx-0.8.46

./configure --prefix=/usr/local/nginx--with-http_ssl_module

make && make install && cd../

更多精彩内容:http://www.bianceng.cn/Servers/web/

添加www用户组及用户,命令如下所示:

groupadd www

useradd -g www www

时间: 2024-10-06 04:54:22

Puppet利用Nginx多端口实现负载均衡的相关文章

在不同端口下模拟 Nginx 反向代理和负载均衡

Nginx 是一个轻量级的 WEB 服务器,反向代理服务器和电子邮件服务器,本文介绍在虚拟机中使用不同的端口来模拟不同的服务器,并使用 Nginx 反向代理功能实现服务器负载均衡的效果. 新建两个站点 首先新建两个 WEB 目录当做不同的服务器下的站点,一个是 website-A,一个是 website-B. 这两个站点目录应该是在不同的服务器上,而且代码是一模一样的,这里为了方便在一台虚拟机上模拟不同服务器,并且把两个站点目录下的首页做了一点修改,以区分访问到的是不同目录(服务器)下的站点.两

用nginx+passenger来做负载均衡

由于3.x系列已不再支持mongrel,所以就采用nginx+passenger来做负载均衡:之前有发过nginx+mongrel,puppet version是2.7系列的,所以还是可以用的: 环境说明: 操作系统:centos 5.8 64位 puppet版本:3.1系列 1,升级ruby至1.8.7,安装rubygems # rpm -Uvh http://rbel.frameos.org/rbel5 # yum install -y ruby rubygems ruby-devel.x8

Windows 下使用nginx对SqlServer进行负载均衡

windows 下使用nginx对SqlServer进行负载均衡 1.自从nginx版本1.9之后,nginx 便增加了对tcp与udp协议的支持 官方文档 The ngx_stream_core_module module is available since version 1.9.0. This module is not built by default, it should be enabled with the –with-stream configuration parameter

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服

Nginx+Tomcat+Https 服务器负载均衡配置实践方案详解_nginx

由于需要,得搭建个nginx+tomcat+https的服务器,搜了搜网上的发现总是有错,现在整理了些有用的,备忘. 环境:Centos6.5.JDK1.8.Tomcat8.Nginx1.10.1 准备材料: 1.JDK1.8安装包jdk-8u102-linux-x64.tar.gz 2.Tomcat8安装包apache-tomcat-8.0.37.tar.gz 3.Nginx1.10安装包nginx-1.10.1.tar.gz 1.JDK安装配置 解压并安装到/usr/local/jdk [r

nginx+tomcat做的负载均衡

问题描述 nginx+tomcat做的负载均衡 求助个问题,nginx+tomcat做的负载均衡,在高并发时,怎么做到线程同步策略,例如,四台服务器上面部署了四个tomcat,在高并发请求时,毕竟一个tomcat只能锁住一个线程,在这种情况下,怎么样实现对请求的锁的控制? 解决方案 一.为什么需要对Tomcat服务器做负载均衡: Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站的运行.另外,在访

Nginx + Shiro + Ehcache 实现负载均衡集群(成绩报告查询系统)

项目介绍 最近在做一款产品,对外提供学生成绩报告的查询,支付,查看以及下载等一系列功能,这里就简称成绩报告查询系统吧. 初步参赛人数十万左右,可能会存在相对高的并发同时在线,所以开发阶段就对负载均衡集群做了设计. 当然,涉及到负载均衡集群,就要考虑的Session存储的问题,由于项目本身使用了Ehcache做本地缓存,Shiro对其做了很好的封装,并且Ehcache也是支付分布式缓存同步的.所以,采用Ehcache做session存储暂且是一种实施方案. 关于Ehcache分布式缓存见:http

Nginx 1.4.4负载均衡+容灾、泛域名解析、session共享代码示例

以下示例代码基于Nginx 1.4.4版本,配置nginx.conf文件实现http://www.aliyun.com/zixun/aggregation/13996.html">负载均衡+容灾.泛域名解析.session共享,列举配置文件中的代码与大家分享.   nginx.conf配置文件代码:   worker_processes 2; error_log logs/error.log; events {     worker_connections 560.html"&g

详解Nginx反向代理和负载均衡部署指南_nginx

Nginx反向代理和负载均衡部署指南,具体如下: 1.  安装 1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: 2)  解压后复制到部署目录.  2.  启动和停止Nginx Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录. 1) 启动Nginx:start nginx 2)  停止Nginx:nginx -s stop 3)修改配置后重启:ngin