yaml脚本-nginx服务安装与配置

目录

脚本全览

脚本功能介绍

用户创建

下载nginx服务

配置nginx文件

更还http服务端口,避免冲突

检查nginx语法

开启nginx,http服务

重启nginx服务


脚本功能介绍

用户创建

使用user模块,利用loop进行循环,常见所需用户

下载nginx服务

使用yum模块,进行nginx服务的下载,可以使用yum_repository配置yum源,加快nginx的下载

配置nginx文件

使用template模块和j2模版文件进行节点nginx的配置

更还http服务端口,避免冲突

使用shell模块将http服务端口换为8080,防止与nginx服务冲突

检查nginx语法

使用shell模块和 nginx -t 命令检验语法

开启nginx,http服务

使用shell模块和systemctl命令来配置两个web服务

重启nginx服务

当主配置文件发生变化或者nginx语法错误,进行nginx的重启

脚本全览

- name: template playbook example
  hosts: all
  vars:
    createuser:
      - tomcat
      - www
      - mysql
  become: yes
  tasks:
    - name: cretae user #创建用户
      user:
        name: "{{ item }}"
        state: present
      loop: "{{ createuser }}"
    - name: yum nginx webserver #下载nginx服务
      yum:
        name: nginx
        state: latest
    - name: update nginx mate config  #更新nginx主配置文件
      template:
        src: /root/j2/nginx.conf.j2
        dest: /etc/nginx/nginx.conf
      tags: updateconfig
      notify: reload nginx server
    - name: add virtualhost config   #添加虚拟主机配置文件
      copy:
        src: /root/j2/www.qfedu.com.conf
        dest: /etc/nginx/conf.d/
      tags: updateconfig
      notify: reload nginx server
    - name: change httpd       #更换http服务的端口号,避免发生冲突
      shell: sed -ri 's/^Listen .*/Listen 8080/' /etc/httpd/conf/httpd.conf
      register: httpd
    - name: begin httpd        #开启http服务
      systemd:
        name: httpd
        state: restarted
      when: httpd.rc == 0
    - name: check naginx syntax   #检查nginx语法
      shell: /usr/sbin/nginx -t
      register: nginxsyntax
      tags: updateconfig
    - name: check naginx running   #检测nginx是否成功启动
      stat: path=/var/run/nging.pid
      register: nginxrunning
      tags: updateconfig
    - name: print nginx saytax     #如果nginx语法错误,输出错误信息
      debug:
        var: nginxsyntax
    - name: start nginx server       #开启nginx服务
      systemd:
        name: nginx
        state: started
        enabled: yes
      when:
        - nginxsyntax.rc == 0
        - nginxrunning.stat.exists == false
  handlers:                         #当配置文件发生变化,重载nginx服务
    - name: reload nginx server
      systemd:
        name: nginx
        state: started
        when:
          - nginxsyntax.rc == 0
          - nginxrunning.stat.exists == true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河中医第一IKUN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值