Puppetnginx 架构图

Puppetnginx

架构图

优点

*性能:nginx因为精简,运行起来非常快速,许多人声称它的比pound更高效。
*日志,调试:在这两个方面,nginx比pound更简洁。
*灵活性:nginx的处理SSL客户端验证是在应用层上实现的,而不会终止SSL连接。
*nginx可以拿来即用, 不需要像pound打补丁,同时配置的语法也很直观。

缺点

一但在服务端使用puppetca进行sgin以后,无法主动在服务端撤销授权,
不过你可以在客户端删除ssl目录来取消授权,一般情况下没什么影响。


配置步骤

配置yum

用光盘iso在本地建个yum软件仓库,并配置好epel源

mount rhel54.iso /mnt -o loop,ro

vim /etc/yum.repos.d/local.repo 写入以下配置

[Server]
name=Red Hat Enterprise Linux $releasever - $basearch - Server
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
[epel]
name=Red Hat Enterprise Linux $releasever - $basearch - epel
baseurl=http://mirrors.sohu.com/fedora-epel/5Server/$basearch
enabled=1
gpgcheck=0

配置Mongrel

安装puppet软件包

yum install puppetmaster puppet rubygem-mongrel

编辑 /etc/sysconfig/puppetmaster添加以下两行

PUPPETMASTER_PORTS=( 18140 18141 18142 18143 )
PUPPETMASTER_EXTRA_OPTS="—servertype=mongrel —ssl_client_header=HTTP_X_SSL_SUBJECT"

启动服务

service puppetmaster start

配置nginx

下面我们来配置nginx代替默认的webserver,我们可以用nginx来实现动静分离,
把静态的文件直接交给nginx来处理,比如files和modules模块中的files,
动态的再交给puppet,各扬所长,使其支持更多的节点

下载nginx-0.8.7或以上的源码包

wget http://nginx.org/download/nginx-0.8.47.tar.gz

tar zxf nginx-0.8.47.tar.gz

./configure —with-http_stub_status_module —with-http_ssl_module

make && make install

vim /usr/local/nginx/conf/nginx.conf 写入以下配置

user  daemon daemon;
worker_processes  4;
worker_rlimit_nofile 65535;

error_log       /var/log/nginx-puppet.log notice;
pid             /var/run/nginx-puppet.pid;

events {
    use                 epoll;
    worker_connections  32768;
}

http {
  sendfile           on;
  tcp_nopush         on;

  keepalive_timeout  300;
  tcp_nodelay        on;

  upstream puppetmaster {
     server 127.0.0.1:18140;
     server 127.0.0.1:18141;
     server 127.0.0.1:18142;
     server 127.0.0.1:18143;
  }

  server {
    listen 8140;
    root                    /etc/puppet;

    ssl                     on;
    ssl_session_timeout     5m;
    ssl_certificate         /opt/puppet/ssl/certs/puppet.example.com.cn.pem;
    ssl_certificate_key     /opt/puppet/ssl/private_keys/puppet.example.com.cn.pem;
    ssl_client_certificate  /opt/puppet/ssl/ca/ca_crt.pem;
    ssl_crl                 /opt/puppet/ssl/ca/ca_crl.pem;
    ssl_verify_client       optional;

    # File sections
    location /production/file_content/files/ {
        types { }
        default_type application/x-raw;
        alias /etc/puppet/manifests/files/;
    }

    # Modules files sections
    location ~ /production/file_content/modules/.+/ {
        root /etc/puppet/modules;
        types { }
        default_type application/x-raw;
        rewrite ^/production/file_content/modules/(.+)/(.+)$ /$1/files/$2 break;
    }

    # Ask the puppetmaster for everything else
    location / {
        proxy_pass          http://puppetmaster;
        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;
    proxy_set_header    X-Client-Verify  $ssl_client_verify;
    proxy_set_header    X-SSL-Subject    $ssl_client_s_dn;
    proxy_set_header    X-SSL-Issuer     $ssl_client_i_dn;
    proxy_buffer_size           16k;
    proxy_buffers               8 32k;
    proxy_busy_buffers_size     64k;
    proxy_temp_file_write_size  64k;
    proxy_read_timeout          65;
    }
  }#server end
}#http end

启动nginx

/usr/local/nginx/sbin/nginx



原文地址:http://projects.reductivelabs.com/projects/puppet/wiki/Using_Mongrel_Nginx
参考文档:http://www.masterzen.fr/2009/07/21/new-ssl-features-for-nginx/
翻译整理:智弘

时间: 2024-08-29 20:42:43

Puppetnginx 架构图的相关文章

LoadRunner相关架构图

LoadRunner概览图: Lr架构图:

飞达资讯App总体介绍及关系架构图

飞达资讯App总体介绍: 下图为飞达资讯App的关系架构图: 该App关系架构图所需的图片云盘链接地址:http://pan.baidu.com/s/1gfHIe4b 提取密码:x1nr 该App的云盘下载地址:http://pan.baidu.com/s/1eS8WGXs 提取密码:5eqe 由于作者水平有限和时间仓促,该App可能存在一些疏漏和不当之处,敬请读者批评指正. 作者联系方式: 电话:15223328653,QQ:2099904576,邮箱:[email protected]

十台服务器集群架构图

注释: 此架构图体现了动态网站的速度.稳定.冗余.安全等. 在速度方面,咱们做了nginx协助tomcat负载均衡,实现多用户访问同时处理,加快处理速度.在速度方面,咱们还做了tomcat和nginx的动静分离,众所周知tomcat专门处理jsp的动态界面,nginx在处理静态界面又是比较擅长,利用这个特点,将静态页面和图片专门由nginx server处理,动态页面则由tomcat服务器处理了,一个网页由多个服务器上的不同服务处理自己擅长的界面,速度自然而然就快很多了. 在安全方面,咱们做了n

为什么需要架构图,怎么画?

Technorati 标签: 架构图,架构,交流,布局 不知不觉中做架构师也已经4年了,最初的感觉只是一个名号,不再把代码作为强制的任务,后来开始慢慢的转变工作内容.画图,成为了我的主要工作.我可能不是每天都在写代码,但却是每天都在画图,而且我越来越觉得画图让我更容易说清楚. 画架构图有几个好处:看清楚系统包含哪几个部分,各个部分实现什么职责,相互之间的关系是什么.当和别人讨论的时候,通过架构图可以很容易的把讨论的问题框定在一个确定的范围里,可以很容易的察觉出彼此之间存在误解的一些区域,比如对一

最简单直观的分布式架构图

这张图第一眼看过去非常的空洞,但是我认为却是最理想化的分布式架构图.不管什么样的分布式系统,都是从这套系统上改造演变过去的.下面我就来解释一下这张图每个步骤的意义. 用户群访问某个网站,比如说www.baidu.com,我们先忽略DNS解析和CDN服务器的作用,直接请求服务器,穿过防火墙,通过负载均衡来分配用户的请求,负载可以提高整个架构的抗压和流量的负载能力,将用户请求平均分配到应用服务器,有效的解决了单点失效的问题,通过应用服务器要交互的是数据层,也就是我们所说的MySql或者Oracle,

vdceye onvif manager 软件架构图

https://github.com/xsmart vdceye onvif manager 软件架构图,布布扣,bubuko.com

软件各种架构图2

Spring MVC 核心架构图 架构图对应的DispatcherServlet核心代码如下: //前端控制器分派方法 protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest processedRequest = request; HandlerExecutionChain mappedHandler = nu

MySQL 高可用+优化 架构图

MySQL 高可用加优化架构图

面向接口编程技术架构图

项目做了什么多都没画过架构图,这次被要求画图,画的很丑,请大家看图本身包含的系统架构信息 一.架构整体图 1.核心是两库一线 1.1 接口总线 所有算法功能抽象成接口,其中大部分接口的方法都是泛型方法,是为了解决某一大类问题的 1.2 代码库 代码库包含现接口总线中接口的各种实现 1.3 应用库 提供用户的界面或者提供给外部的服务 是通过容器配置调用算法库中的代码来实现的各种应用 二.应用关系图 1.应用通过配置从应用库中组装出自己的应用系统 2.应用本身之外的东西尽量使用拦截器处理(授权访问.