设为首页 收藏本站
查看: 1469|回复: 0

[经验分享] salt部署nginx

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-2-13 14:52:09 | 显示全部楼层 |阅读模式
尝试使用saltstack部署nginx搭建环境
master:192.168.25.135    centos 7
master:192.168.25.133    centos 7
master端目录:在/etc/salt/x下新建nginx目录用来存放源码包和配置文件,将源码包下载到这个目录,
     #mkdir  //etc/salt/nginx
查看目录:

编写salt 入口文件top.sls
    #cat top.sls
base:
  '*':
    - nginx.install                  //安装sls文件
    - nginx.server                 //配置文件
    - nginx.init                      //启动文件
    - nginx.html                    //自定义的首页文件
首先对系统进行初始化配置,安装必要的依赖包
      #cat nginx/init.sls

system_init:
  pkg.installed:
    - pkgs:                              //同时安装多个报用复数
      - gcc
      - gcc-c++
      - openssl
      - make
      - unzip
      - openssl-devel
      - zlib
      - zlib-devel
安装文件:

         # cat nginx/install.sls
pcre_install:
  file.managed:
    - name: /usr/local/pcre-8.40.zip                       //安装必要的依赖包pcre
    - source: salt://nginx/pcre-8.40.zip
    - user: root
    - group: root
    - mode: 0644
  cmd.run:
    - name: cd /usr/local && unzip pcre-8.40.zip && cd pcre-8.40 && ./configure --prefix=/usr/local/pcre && make && make install
    - unless: test-d /usr/local/pcre
    - require:
      - file: pcre_install
nginx_install:
  file.managed:
    - name: /usr/local/nginx-1.8.1.tar.gz
    - source: salt://nginx/nginx-1.8.1.tar.gz
    - user: root
    - group: root
    - mode: 0644
  cmd.run:
    - name: cd /usr/local && tar zxf nginx-1.8.1.tar.gz && cd nginx-1.8.1 && ./configure --with-pcre=/usr/local/pcre-8.40 --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-http_dav_module && make && make install
    - unless: test -d /usr/local/nginx
    - require:
      - cmd: pcre_install
      - file: nginx_install
配置文件:
与启动有关的启动文件nginx.service,nginx主配置文件,nginx主配置文件可以先解压nginx源码包后,将配置文件修改后在复制到nginx目录下。
         # cat nginx/nginx.service
[Unit]  
Description=nginx service  
After=network.target

[Service]  
Type=forking   
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit  
PrivateTmp=true  

[Install]  
WantedBy=multi-user.target  
########################################################

         # cat nginx/server.sls

nginx_init:
  file.managed:
    - name: /usr/lib/systemd/system/nginx.service
    - source: salt://nginx/nginx.service
    - user: root
    - group: root
    - mode: 754
nginx_conf:
  file.managed:
    - name: /usr/local/nginx/conf/nginx.conf
    - source: salt://nginx/nginx.conf
    - user: root
    - group: root
    - mode: 644
nginx_service:
  cmd.run:
    - name: systemctl start nginx.service
    - require:
      - file: nginx_init
    - watch:
      - file: /usr/local/nginx/conf/nginx.conf
编写首页文件
       #vim nginx/www.html

hello !
if you see this picture, you are successful
首页sls文件:
       #cat nginx/html.sls
www_html:
  file.managed:
    - name: /usr/local/nginx/html/www.html
    - source: salt://nginx/www.html
    - user: root
    - group: root
    - mode: 644
到此配置完成。进行测试
       #salt '192.168.25.133' state.highstate test=Ture      

                         test=Ture   参数是测试是否能执行,但是不会真的去执行安装,只用于测试,也方便排查sls文件的错误。
QQ截图20170213145004.jpg
Succeeded: 9                     //成功的个数
Failed:    0                          //不成功的个数
------------
Total states run:     9         

接下来可以执行安装部署操作了
        #salt '192.168.25.133' state.highstate
查看但会结果,只要没有failed的就是执行成功的。
QQ截图20170213145010.jpg
最后被控端验证,nginx服务是否启动,页面是否能访问:
QQ截图20170213145016.jpg

配置完成。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-341678-1-1.html 上篇帖子: salt-api 模板 下篇帖子: 一次Saltstack的报错记录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表