摘要:大家通过此种方式安装以后会发现,确实比源码安装方便多了,像自动分配了运行的用户的日志存放会自动保存在下,其工作目录为。
1. 模板文件是在puppet模块下面templates目录中以”.erb”结尾的文件
puppet模板主要用于文件,例如各种服务的配置文件,相同的服务,不同的配置就可以考虑使用模板文件,例如Nginx和Apache的虚拟主机配置就可以考虑采用ERB模板,nginx的安装在这里建议用系统内部自带的YUM源来安装或其它第三方YUM源来安装,如果是用Nginx的官方源来安装nginx的话,我们可以查看下/etc/yum.repos.d/nginx.repo文件内容,如下所示:
</>复制代码
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
2. 第二种方式就是通过createrepo自建自己的YUM源
这种方式更加宁活,我们可以在nginx官网去下载适合自己的rpm包,然后添加进自己的YUM源,在自动化运维要求严格的定制环境中,绝大多数运维同学都会选择这种方法。大家通过此种方式安装nginx以后会发现,确实比源码安装Nginx方便多了,像自动分配了运行nginx的用户nginx:nginx,Nginx的日志存放会自动保存在/var/log/nginx下,其工作目录为/etc/nginx。
像Puppet其它初级知识点我这里就略过了,我直接贴上文件内容,/etc/puppet的文件结构如下:
</>复制代码
|-- auth.conf
|-- fileserver.conf
|-- manifests
| |-- nodes
| | |-- client.cn7788.com.pp
| | `-- test.cn7788.com.pp
| `-- site.pp
|-- modules
| `-- nginx
| |-- files
| |-- manifests
| | `-- init.pp
| `-- templates
| |-- nginx.conf.erb
| `-- nginx_vhost.conf.erb
`-- puppet.conf
site.pp的文件内容如下:
</>复制代码
import "nodes/*.pp"
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文件内容如下所示:
</>复制代码
user nginx;
worker_processes 8;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 51200;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main "$remote_addr - $remote_user [$time_local] "$request" "
"$status $body_bytes_sent "$http_referer" "
""$http_user_agent" "$http_x_forwarded_for"";
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
/etc/puppet/modules/nginx/templates/nginx_vhost.conf.erb文件内容如下所示:
</>复制代码
server {
listen 80;
server_name <%= sitedomain %>;
access_log /var/log/nginx/<%= sitedomain %>.access.log;
location / {
root /var/www/<%= rootdir %>;
index index.php index.html index.htm;
}
}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/39109.html
摘要:通过创建一个的来构建一个应用程序是非常容易的。我们将使用这个镜像来作为我们新的应用程序镜像的基础镜像。现在我们需要为我们的应用程序镜像创建另外一个。你可以重复这个步骤安装任何基于的应用或者是基础设施。 通过创建一个 Docker 的 Dockerfile 来构建一个应用程序是非常容易的。但是如果你已经有了大量的 Puppet 模块(或者是 Chef cookbooks),你想把这些模块...
摘要:第二十期启迪云高级交付经理董乐首先我们基础架构的组成主要是计算存储和网络。不会取代像或这样的配置管理。事实上,在创建镜像时,可以使用或等工具在镜像上安装软件。第二十期 启迪云高级交付经理 董乐 首先我们基础架构的组成主要是计算、存储和网络。在我们以往的模式中主要使用的是虚拟化技术。 无论哪种虚拟化技术在实际生产环境中主要都是通过模板来提高交付效率,模板主要由操作系统和应用组成。...
摘要:企业将业务迁移到云平台的最大好处之一是可以降低工作和运营成本,其中一个最重要的因素是云计算基础设施的自动化和配置。幸运的是,有许多云计算基础设施自动化工具可用于帮助加快流程。企业需要深入了解将工作负载迁移到公共云的正确步骤,并因此降低成本。云迁移不会自行发生,在迁移项目成功之前并不能完成工作和任务。企业将业务迁移到云平台的最大好处之一是可以降低工作和运营成本,其中一个最重要的因素是云计算基础...
阅读 2373·2021-11-25 09:43
阅读 3441·2021-10-14 09:42
阅读 3588·2021-10-12 10:12
阅读 1651·2021-09-07 10:17
阅读 2008·2019-08-30 15:54
阅读 3263·2019-08-30 15:54
阅读 1649·2019-08-30 15:53
阅读 2013·2019-08-29 11:21