开发工具和接口测试是CentOS6.4x86_64,ngxin的模板文件是以“”结尾的文件。erb”,位于puppet控制模块下的模板文件目录中。puppet模板用于档案,比如各种服务项目的设备档案,同样的服务项目,不同的设备可以考虑应用模板档案。比如Nginx和Apache的云虚拟主机配置可以考虑ERB模板。Nginx的安装建议在这里由第三方yum源码安装。如果nginx是nginx官方网络源码安装的,我们可以查询/etc/yum.repos.d/nginx.repo文件的内容,如下图:
第二种方法是根据createrepo自建YUM源码,比较活泼。我们可以从nginx的官网免费下载合适的rpm包,然后添加自己的YUM源码。在自动化运维规定严格的自然环境下,大部分运维管理专业的学生都会选择这种方式。按照这个方法安装nginx后,大家会发现确实比用源代码安装Nginx方便很多。比如运行nginx的客户nginx:nginx是自动赋值的,而nginx的日志存储会自动存储在/var/log/nginx下,其工作文件目录是/etc/nginx,与源代码编译器安装的目录有很大不同。
我很关注ruby的版本和puppet的版本。数据显示如下:
[root@server manifests]# ruby -v ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux] [root@server manifests]# puppet -V 3.7.4我这里忽略了布偶的安装等初中水平的知识点。我立即粘贴了文件的内容。/etc/puppet的文件结构如下:
site.pp的文件内容如下:
import "nodes/*.pp" Package { allow_virtual => false, }client.cn7788.com.pp文档的内容如下所示:
node 'client.cn7788.com' { include nginx nginx::vhost {'client.cn7788.com': sitedomain => "client.cn7788.com" , rootdir => "client", } }test.cn7788.com.pp文档的内容如下所示:
node 'test.cn7788.com' { include nginx nginx::vhost {'test.cn7788.com': sitedomain => "test.cn7788.com" , rootdir => "test", } }/etc/puppet/modules/nginx/manifests/init.PP文件的内容如下所示:
class nginx{ package{"nginx": ensure =>present, } service{"nginx": ensure =>running, require =>Package["nginx"], } file{"nginx.conf": ensure => present, mode => 644,owner => root,group => root, path => "/etc/nginx/nginx.conf", content=> template("nginx/nginx.conf.erb"), require=> Package["nginx"], } } define nginx::vhost($sitedomain,$rootdir) { file{ "/etc/nginx/conf.d/${sitedomain}.conf": content => template("nginx/nginx_vhost.conf.erb"), require => Package["nginx"], } }文件/etc/puppet/modules/nginx/templates/nginx.conf.erb的内容如下所示:
文件/etc/puppet/modules/nginx/templates/nginx_vhost.conf.erb的内容如下所示:
最后,我们可以在连接点验证名为client.cn7788.com和test.cn7788.com的设备的实际效果。说明如下所示:
部分运行命令结果如下:
为了方便大家免费下载阅读,我的github仓库里收录了这个控制模块。详细地址是https://github.com/yuhongchun/avaliablity/.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)