成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[轉(zhuǎn)載]在Puppet中用ERB模板來(lái)自動(dòng)配置Nginx虛擬主機(jī)

bovenson / 2714人閱讀

摘要:大家通過(guò)此種方式安裝以后會(huì)發(fā)現(xiàn),確實(shí)比源碼安裝方便多了,像自動(dòng)分配了運(yùn)行的用戶的日志存放會(huì)自動(dòng)保存在下,其工作目錄為。

1. 模板文件是在puppet模塊下面templates目錄中以”.erb”結(jié)尾的文件

puppet模板主要用于文件,例如各種服務(wù)的配置文件,相同的服務(wù),不同的配置就可以考慮使用模板文件,例如Nginx和Apache的虛擬主機(jī)配置就可以考慮采用ERB模板,nginx的安裝在這里建議用系統(tǒng)內(nèi)部自帶的YUM源來(lái)安裝或其它第三方Y(jié)UM源來(lái)安裝,如果是用Nginx的官方源來(lái)安裝nginx的話,我們可以查看下/etc/yum.repos.d/nginx.repo文件內(nèi)容,如下所示:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
2. 第二種方式就是通過(guò)createrepo自建自己的YUM源

這種方式更加寧活,我們可以在nginx官網(wǎng)去下載適合自己的rpm包,然后添加進(jìn)自己的YUM源,在自動(dòng)化運(yùn)維要求嚴(yán)格的定制環(huán)境中,絕大多數(shù)運(yùn)維同學(xué)都會(huì)選擇這種方法。大家通過(guò)此種方式安裝nginx以后會(huì)發(fā)現(xiàn),確實(shí)比源碼安裝Nginx方便多了,像自動(dòng)分配了運(yùn)行nginx的用戶nginx:nginx,Nginx的日志存放會(huì)自動(dòng)保存在/var/log/nginx下,其工作目錄為/etc/nginx。
像Puppet其它初級(jí)知識(shí)點(diǎn)我這里就略過(guò)了,我直接貼上文件內(nèi)容,/etc/puppet的文件結(jié)構(gòu)如下:

|-- 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的文件內(nèi)容如下:

import "nodes/*.pp"

client.cn7788.com.pp的文件內(nèi)容如下所示:

node "client.cn7788.com" {
include nginx
nginx::vhost {"client.cn7788.com":
sitedomain => "client.cn7788.com" ,
rootdir => "client",
}
}

test.cn7788.com.pp的文件內(nèi)容如下所示:

node "test.cn7788.com" {
include nginx
nginx::vhost {"test.cn7788.com":
sitedomain => "test.cn7788.com" ,
rootdir => "test",
}
}

/etc/puppet/modules/nginx/manifests/init.pp文件內(nèi)容如下所示:

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文件內(nèi)容如下所示:

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文件內(nèi)容如下所示:

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;
}
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39109.html

相關(guān)文章

  • Docker 中構(gòu)建基于 Puppet 的應(yīng)用

    摘要:通過(guò)創(chuàng)建一個(gè)的來(lái)構(gòu)建一個(gè)應(yīng)用程序是非常容易的。我們將使用這個(gè)鏡像來(lái)作為我們新的應(yīng)用程序鏡像的基礎(chǔ)鏡像?,F(xiàn)在我們需要為我們的應(yīng)用程序鏡像創(chuàng)建另外一個(gè)。你可以重復(fù)這個(gè)步驟安裝任何基于的應(yīng)用或者是基礎(chǔ)設(shè)施。 通過(guò)創(chuàng)建一個(gè) Docker 的 Dockerfile 來(lái)構(gòu)建一個(gè)應(yīng)用程序是非常容易的。但是如果你已經(jīng)有了大量的 Puppet 模塊(或者是 Chef cookbooks),你想把這些模塊...

    NoraXie 評(píng)論0 收藏0
  • 運(yùn)用代碼管理基礎(chǔ)架構(gòu)之鏡像利器(一)

    摘要:第二十期啟迪云高級(jí)交付經(jīng)理董樂首先我們基礎(chǔ)架構(gòu)的組成主要是計(jì)算存儲(chǔ)和網(wǎng)絡(luò)。不會(huì)取代像或這樣的配置管理。事實(shí)上,在創(chuàng)建鏡像時(shí),可以使用或等工具在鏡像上安裝軟件。第二十期 啟迪云高級(jí)交付經(jīng)理 ?董樂 首先我們基礎(chǔ)架構(gòu)的組成主要是計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)。在我們以往的模式中主要使用的是虛擬化技術(shù)。 無(wú)論哪種虛擬化技術(shù)在實(shí)際生產(chǎn)環(huán)境中主要都是通過(guò)模板來(lái)提高交付效率,模板主要由操作系統(tǒng)和應(yīng)用組成。...

    URLOS 評(píng)論0 收藏0
  • 如何選擇云計(jì)算基礎(chǔ)設(shè)施自動(dòng)化的最佳工具?

    摘要:企業(yè)將業(yè)務(wù)遷移到云平臺(tái)的最大好處之一是可以降低工作和運(yùn)營(yíng)成本,其中一個(gè)最重要的因素是云計(jì)算基礎(chǔ)設(shè)施的自動(dòng)化和配置。幸運(yùn)的是,有許多云計(jì)算基礎(chǔ)設(shè)施自動(dòng)化工具可用于幫助加快流程。企業(yè)需要深入了解將工作負(fù)載遷移到公共云的正確步驟,并因此降低成本。云遷移不會(huì)自行發(fā)生,在遷移項(xiàng)目成功之前并不能完成工作和任務(wù)。企業(yè)將業(yè)務(wù)遷移到云平臺(tái)的最大好處之一是可以降低工作和運(yùn)營(yíng)成本,其中一個(gè)最重要的因素是云計(jì)算基礎(chǔ)...

    KitorinZero 評(píng)論0 收藏0
  • PHP學(xué)習(xí)計(jì)劃

    摘要:相關(guān)框架路由網(wǎng)絡(luò)組件解析組件數(shù)據(jù)庫(kù)對(duì)象生成器錯(cuò)誤處理組件配置命令行工具簡(jiǎn)單容器注釋解析組件文件處理基于數(shù)據(jù)存儲(chǔ)日子處理基于模板引擎基于中間件單元測(cè)試中間件數(shù)據(jù)類型操作網(wǎng)絡(luò)編程知識(shí)基礎(chǔ)知識(shí)環(huán)境配置,內(nèi)置服務(wù)器知識(shí)版本管理與代碼注釋命名空間日期 PHP 相關(guān) FastD PHP Web框架 PHP路由 Swoole網(wǎng)絡(luò)組件 PHPHttp解析組件 PHP數(shù)據(jù)庫(kù) PHP對(duì)象生成器 PHP錯(cuò)...

    shery 評(píng)論0 收藏0
  • PHP學(xué)習(xí)計(jì)劃

    摘要:相關(guān)框架路由網(wǎng)絡(luò)組件解析組件數(shù)據(jù)庫(kù)對(duì)象生成器錯(cuò)誤處理組件配置命令行工具簡(jiǎn)單容器注釋解析組件文件處理基于數(shù)據(jù)存儲(chǔ)日子處理基于模板引擎基于中間件單元測(cè)試中間件數(shù)據(jù)類型操作網(wǎng)絡(luò)編程知識(shí)基礎(chǔ)知識(shí)環(huán)境配置,內(nèi)置服務(wù)器知識(shí)版本管理與代碼注釋命名空間日期 PHP 相關(guān) FastD PHP Web框架 PHP路由 Swoole網(wǎng)絡(luò)組件 PHPHttp解析組件 PHP數(shù)據(jù)庫(kù) PHP對(duì)象生成器 PHP錯(cuò)...

    missonce 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<