puppet 纵向扩展Apache+Passenger

简介: 转载:http://blog.51cto.com/ywzhou/15765291、功能说明puppet默认使用基于Ruby的WEBRickHTTP来处理HTTPS请求,单个服务器使用Apache+Passenger替换掉WEBRickHTTP,P...

转载:http://blog.51cto.com/ywzhou/1576529
1、功能说明

puppet默认使用基于Ruby的WEBRickHTTP来处理HTTPS请求,

单个服务器使用Apache+Passenger替换掉WEBRickHTTP,

Passenger是用于将Ruby程序进行嵌入执行的Apache模块,

在安装前,首先至少要执行一次service puppetmaster start,生成本地证书

官方配置指南:https://docs.puppetlabs.com/guides/passenger.html

2、安装apache

[root@puppet ~]# yum install -y httpd httpd-devel openssl mod_ssl ruby-devel libcurl-devel rubygems gcc

前面已安装了apache,这里主要安装mod_ssl ruby-devel libcurl-devel三个。

3、安装passenger

[root@puppet ~]# gem install rack passenger
[root@puppet ~]# passenger-install-apache2-module

直接回车
img_52974ca5ba37f4dd19f984cb74b361e7.jpe
wKiom1RlnC2xwyjjAABaPfWHCQ8592.jpg
默认选择了Ruby,直接回车

检查需要安装的包,根据提示安装需要的软件包,再重新执行
[root@puppet ~]# yum install libcurl-devel

需要将此段写入passenger.conf中:
[root@puppet ~]# vi /etc/httpd/conf.d/passenger.conf
    LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so    
    <IfModule mod_passenger.c>      
      PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.53      
      PassengerDefaultRuby /usr/bin/ruby    
    </IfModule>
继续回车完成,可以看到一个虚拟主机的配置样例。

4、配置rack

config.ru文件会告诉Rack如何生成puppet master进程

[root@puppet ~]# cd /usr/share/puppet
[root@puppet puppet]# mkdir -p rack/puppetmasterd/{public,tmp}
[root@puppet puppet]# cp ext/rack/config.ru rack/puppetmasterd/
[root@puppet puppet]# chown puppet:puppet rack/puppetmasterd/config.ru

5、配置passenger和vhost

[root@puppet puppet]# cp ext/rack/example-passenger-vhost.conf  /etc/httpd/conf.d/puppetmaster.conf
[root@puppet puppet]# vi /etc/httpd/conf.d/puppetmaster.conf
# This Apache 2 virtual host config shows how to use Puppet as a Rack
# application via Passenger. See
# http://docs.puppetlabs.com/guides/passenger.html for more information.

# You can also use the included config.ru file to run Puppet with other Rack
# servers instead of Passenger.

# you probably want to tune these settings
PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
# PassengerMaxRequests 1000
PassengerStatThrottleRate 120
#RackAutoDetect Off             #注释掉这行
#RailsAutoDetect Off            #注释掉这行

Listen 8140

<VirtualHost *:8140>
        SSLEngine on
        SSLProtocol             ALL -SSLv2 -SSLv3
        SSLCipherSuite          EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
        SSLHonorCipherOrder     on

        SSLCertificateFile      /var/lib/puppet/ssl/certs/puppet.ewin.com.pem   #修改路径和证书名称
        SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/puppet.ewin.com.pem  #修改路径和证书名称
        SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem  #修改路径
        SSLCACertificateFile    /var/lib/puppet/ssl/ca/ca_crt.pem  #修改路径
        # If Apache complains about invalid signatures on the CRL, you can try disabling
        # CRL checking by commenting the next line, but this is not recommended.
        SSLCARevocationFile     /var/lib/puppet/ssl/ca/ca_crl.pem  #修改路径
        # Apache 2.4 introduces the SSLCARevocationCheck directive and sets it to none
        # which effectively disables CRL checking; if you are using Apache 2.4+ you must
        # specify 'SSLCARevocationCheck chain' to actually use the CRL.
        # SSLCARevocationCheck chain
        SSLVerifyClient optional
        SSLVerifyDepth  1
        # The `ExportCertData` option is needed for agent certificate expiration warnings
        SSLOptions +StdEnvVars +ExportCertData

        # This header needs to be set if using a loadbalancer or proxy
        RequestHeader unset X-Forwarded-For

        RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e
        RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e
        RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e

        DocumentRoot /usr/share/puppet/rack/puppetmasterd/public    #修改路径
        RackBaseURI /
        <Directory /usr/share/puppet/rack/puppetmasterd/>           #修改路径
                Options None
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

6、服务

[root@puppet ~]# service puppetmaster stop
[root@puppet ~]# service httpd restart
[root@puppet ~]# chkconfig httpd on
[root@puppet ~]# netstat -nlp | grep 8140

7、测试

(1)WEB网页访问测试

客户端修改IE设置,去掉标黄的勾:

使用IE浏览https://10.188.1.73:8140/

出现这一行表示配置成功,下一节配置Dashboard后就有内容了。

(2)linux客户端测试

[root@zabbix ~]# puppet agent --server puppet.ewin.com --test

没有报错,显示配置版本号及完成时间表示成功。

(3)puppet服务端测试

[root@puppet ~]# tailf /var/log/httpd/access_log
10.188.1.172是windows客户机ywzhou-pc:

10.188.1.103是linux客户机zabbix:

客户机发出HTTP GET请求,状态码200表示请求成功,再使用PUT请求提交了一个报告
目录
相关文章
|
Apache 数据中心 微服务
构建可扩展的消息系统:Apache Pulsar和NATS的比较
消息系统在现代分布式应用程序中扮演着至关重要的角色,它们用于实现异步通信、事件驱动架构和可靠数据传输。在本篇文章中,我们将探讨两个流行的消息系统:Apache Pulsar和NATS,并比较它们的特点、性能和可扩展性。我们将研究它们的架构、部署方式以及如何使用它们来构建可靠和高性能的消息传递系统。
703 0
|
SQL 消息中间件 Java
兼容Trino Connector,扩展Apache Doris数据源接入能力|Lakehouse 使用手册(四)
通过兼容 Connector 插件,Apache Doris 能够支持 Trino/Presto 可对接的所有数据源,而无需改动 Doris 的内核代码。
188 2
兼容Trino Connector,扩展Apache Doris数据源接入能力|Lakehouse 使用手册(四)
|
Apache PHP
百度搜索:蓝易云【Apache环境php安装扩展swoole。】
通过以上步骤,你就可以在Apache环境中成功安装和配置Swoole扩展了。请确保你按照正确的步骤进行操作,并根据你的系统和环境进行相应的调整。如果遇到问题,你可以参考Swoole官方文档或社区的支持资源来获取更多帮助。
115 1
|
SQL 运维 数据挖掘
《Apache Flink 案例集(2022版)》——2.数据分析——快手-Flink SQL 在快手的扩展和实践(1)
《Apache Flink 案例集(2022版)》——2.数据分析——快手-Flink SQL 在快手的扩展和实践(1)
392 0
|
SQL 数据挖掘 Apache
《Apache Flink 案例集(2022版)》——2.数据分析——快手-Flink SQL 在快手的扩展和实践(2)
《Apache Flink 案例集(2022版)》——2.数据分析——快手-Flink SQL 在快手的扩展和实践(2)
412 0
|
SQL 数据挖掘 Apache
《Apache Flink 案例集(2022版)》——2.数据分析——快手-Flink SQL 在快手的扩展和实践(3)
《Apache Flink 案例集(2022版)》——2.数据分析——快手-Flink SQL 在快手的扩展和实践(3)
345 0
|
SQL 数据挖掘 Apache
《Apache Flink 案例集(2022版)》——2.数据分析——快手-Flink SQL 在快手的扩展和实践(4)
《Apache Flink 案例集(2022版)》——2.数据分析——快手-Flink SQL 在快手的扩展和实践(4)
279 0
|
21天前
|
人工智能 运维 Java
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
本文基于Apache Flink PMC成员宋辛童在Community Over Code Asia 2025的演讲,深入解析Flink Agents项目的技术背景、架构设计与应用场景。该项目聚焦事件驱动型AI智能体,结合Flink的实时处理能力,推动AI在工业场景中的工程化落地,涵盖智能运维、直播分析等典型应用,展现其在AI发展第四层次——智能体AI中的重要意义。
312 27
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
|
10月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
683 33
The Past, Present and Future of Apache Flink

热门文章

最新文章

推荐镜像

更多