首页 Linux网维 Puppet扩展(一):纵向扩展Apache+Passenger

Puppet扩展(一):纵向扩展Apache+Passenger

1、功能说明puppet默认使用基于Ruby的WEBRickHTTP来处理HTTPS请求,单个服务器使用Apache+Passenger替换掉WEBRickHTTP,Passeng…

1、功能说明puppet默认使用基于Ruby的WEBRickHTTP来处理HTTPS请求,单个服务器使用Apache+Passenger替换掉WEBRickHTTP,Passenger是用于将Ruby程序进行嵌入执行的Apache模块,

在安装前,首先至少要执行一次service puppetmaster start,生成本地证书官方配置指南:https://docs.puppetlabs.com/guides/passenger.html

2、安装apache1[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、安装passenger12[root@puppet ~]# gem install rack passenger。

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

Puppet扩展(一):纵向扩展Apache+Passenger插图

直接回车

Puppet扩展(一):纵向扩展Apache+Passenger插图1

默认选择了Ruby,直接回车

Puppet扩展(一):纵向扩展Apache+Passenger插图2

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

Puppet扩展(一):纵向扩展Apache+Passenger插图3

需要将此段写入passenger.conf中:123456[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

PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.53      PassengerDefaultRuby /usr/bin/ruby

    继续回车完成,可以看到一个虚拟主机的配置样例。

Puppet扩展(一):纵向扩展Apache+Passenger插图4

4、配置rackconfig.ru文件会告诉Rack如何生成puppet master进程1234[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和vhost12345678910111213141516171819202122232425262728293031323334353637383940414243444546

474849505152535455565758[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 settingsPassengerHighPerformance onPassengerMaxPoolSize 12PassengerPoolIdleTime 1500

# PassengerMaxRequests 1000PassengerStatThrottleRate 120#RackAutoDetect Off             #注释掉这行#RailsAutoDetect Off            #注释掉这行

Listen 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 /                   #修改路径

Options None                AllowOverride None                Order allow,deny                allow from all

6、服务1234[root@puppet ~]# service puppetmaster stop[root@puppet ~]# service httpd restart

[root@puppet ~]# chkconfig httpd on[root@puppet ~]# netstat -nlp | grep 81407、测试(1)WEB网页访问测试客户端修改IE设置,去掉标黄的勾:

Puppet扩展(一):纵向扩展Apache+Passenger插图5

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

Puppet扩展(一):纵向扩展Apache+Passenger插图6

出现这一行表示配置成功,下一节配置Dashboard后就有内容了(2)linux客户端测试1[root@zabbix ~]# puppet agent –server puppet.ewin.com –test。

Puppet扩展(一):纵向扩展Apache+Passenger插图7

没有报错,显示配置版本号及完成时间表示成功(3)puppet服务端测试1[root@puppet ~]# tailf /var/log/httpd/access_log10.188.1.172是windows客户机ywzhou-pc:。

Puppet扩展(一):纵向扩展Apache+Passenger插图8

10.188.1.103是linux客户机zabbix:

Puppet扩展(一):纵向扩展Apache+Passenger插图9

客户机发出HTTP GET请求,状态码200表示请求成功,再使用PUT请求提交了一个报告

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

为您推荐

linux文件命令

linux文件命令

在 Linux 中,我们可以使用 `with open()` 语句和 `write()` 函数来写入文件。以下是一个简单...
linux的命令

linux的命令

以下是一个简单的 Linux 命令示例,该命令将显示当前日期和时间: “`c #include <st...
linux 命令

linux 命令

由于 Linux 命令是由 C 语言编写的,因此下面是一个简单的用中文编写的 Linux 命令示例,它将输出“Hello...
linux命令tar

linux命令tar

这个问题看起来有些模糊,我不确定您是想了解如何在 Linux 系统中使用 tar 命令,还是如何编写一个名为 tar 的...
linux压缩命令

linux压缩命令

Linux压缩命令:高效管理文件和目录 Linux操作系统提供了一系列强大的压缩命令,使您能够高效地管理文件和目录。无论...

发表回复

返回顶部