一、创建目录并编辑Nginx安装模块

mkdir -pv /etc/puppet/modules/nginx/{manifests,files,templates,spec,tests,lib}
]# vim nginx/manifests/init.pp
class nginx {
package{'nginx':
ensure => latest
} ->
service{'nginx':
ensure => running,
enable => true
}
}

二、编辑Nginx配置文件

]# vim nginx/manifests/web.pp
class nginx::web($port=) inherits nginx {
file{'web.conf':
path => '/etc/nginx/conf.d/web.conf',
content => template('nginx/web.conf.erb')
}
file{'/ngxdata/html':
ensure => directory
}
file{'index.html':
ensure => file,
path => '/ngxdata/html/index.html',
source => 'puppet:///modules/nginx/index.html',
require => File['/ngxdata/html']
}
Service['nginx'] {
subscribe => File['web.conf']
}
}

三、编辑反向代理配置

]# vim nginx/manifests/proxy.pp
class nginx::proxy($proxy_port=) inherits nginx {
file{'proxy.conf':
path => '/etc/nginx/conf.d/proxy.conf',
content => template('nginx/proxy.conf.erb'),
}
Service['nginx'] {
subscribe => File['proxy.conf']
}
}

四、配置模板与页面测试文件

]# vim nginx/templates/web.conf.erb
server {
listen <%= @port %>;
server_name <%= @fqdn %>;
location /
root /ngxdata/html;
}
}
]# vim nginx/files/index.html
<h1> Nginx ok </h1>
]# vim nginx/templates/proxy.conf.erb
server {
listen <%= @proxy_port %>;
server_name <%= @fqdn %>;
location / {
proxy_pass http://xxx.xxx.xxx:8080/;
}
}

五、应用

]# puppet apply -v -e 'include nginx::proxy'

查看模板是否成效:

]# cat /etc/nginx/conf.d/proxy.conf
server {
listen ;
server_name node1.danran.com;
location / {
proxy_pass http://xxx.xxx.xxx:8080/;
}
}

Puppet部署Nginx返代示例的更多相关文章

  1. Nginx反代Mogilefs分布式储存示例

    一.分布式存储系统简介 随着信息技术不断的发展,给我们带来便利的同时,不断增加的数据量级.信息之间的连接关联越来越复杂.数据访问的并发量日益增加对I/O的要求越来越高.数据类型越来越复杂等难题也成为信 ...

  2. 部署 --- Nginx

    Nginx介绍 简介: Nginx是由伊戈尔.塞索耶夫开发的,在04年10月开源的一款高性能HTTP和反向代理服务器. 因为它的稳定性好,功能丰富,有示例配置文件和较低的系统资源消耗而闻名 同时也是一 ...

  3. Windows Server 2008 R2 Enterprise x64 部署 nginx、tomcat、mysql

    部署nginx nginx主要做反向代理用,可以单独部署到其它机器上,这里nginx和tomcat部署在同一台机器上. 下载nginx-1.14.1.zip,并解压到目标目录,打开cmd进入到解压后的 ...

  4. docker stack 部署nginx

    =============================================== 2018/7/29_第1次修改                       ccb_warlock == ...

  5. 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群

    庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介      前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...

  6. debian完整部署 Nginx + uWSGI + Django

    手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供 ...

  7. debian7下部署nginx服务器

    笔者是在vmware中的Debian7下部署nginx服务器,采用离线部署方式.过程如下: 1.准备好需要的离线安装包 nginx-1.6.2.tar.gz,pcre-8.34.tar.gz,open ...

  8. 在Docker下部署Nginx

    在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_p ...

  9. 自动部署Nginx和nfs并架设Nginx集群脚本

    本人经过多次尝试,简单完成了自动部署Nginx和nfs脚本,并且能够自动部署web反向代理集群,下面详细的阐述一下本人的思路.(以下脚本本人处于初学阶段,写的并不是很完善,所以需要后期进行整理和修正, ...

随机推荐

  1. python学习笔记(7)

    第七章 文件和数据格式化 文件的使用 文件是数据的抽象和集合 文件是存储在辅助存储器上的数据序列 文件是数据存储的一种形式 文件展现形态:文本文件和二进制文件 文本文件 由单一特定编码组成的文件,如U ...

  2. 无法在Application Designer中打开PeopleTools对象

    PeopleSoft开发人员经常使用PeopleSoft Application Designer来查看/修改PeopleTools对象,例如字段,记录,页面,组件等.开发人员对Application ...

  3. 1、初识Java

    1.计算机发展过程 2.Java简史 lSUN公司是一家什么样的公司? 美国SUN(Stanford University Network)公司 在中国大陆的正式中文名为“太阳计算机系统(中国)有限公 ...

  4. ionic3+angular4开发混合app 之自定义组件

    这里主要是记录ionic3+angular4开发混合app时自定义组件,我想自定义组件的方法和angular4应该类似,具体在纯angular4中自定义组件,暂时没有实践,个人觉得差别不大,之后实践了 ...

  5. React(八)样式及CSS模块化

    (1)内联样式 注:样式要采用驼峰命令发,如果非要使用原生css样式写法,需加引号 缺点:一些动画,伪类不能使用 class App extends Component { constructor(p ...

  6. laravel之url跳转

    1.先写一下路由 2.在写a标签跳转

  7. 常用的js效果

    使用jquery实现鼠标悬停显示层 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  8. Anveshak: Placing Edge Servers In The Wild

    Anveshak:在野外放置边缘服务器 本文为SIGCOMM 2018 Workshop (Mobile Edge Communications, MECOMM)论文. 笔者翻译了该论文.由于时间仓促 ...

  9. js封装一个模块

    (function(){ var defaultSetting = { color:'red' } Setting (options) { var self = this; self = Object ...

  10. Java安装以及环境变量配置

    1. 2. 3. 4. 5. class HelloWorld{ public static void main(String args[]){ System.out.print("Hell ...