编写roles用yum安装nginx

编写roles用yum安装nginx

   张吉吉     2019年11月30日 03:47     564    

1、创建需要的目录

mkdir -p /etc/ansible/roles/nginx/{handlers,tasks,templates,vars}

使用tree命令查看目录结构

1.png

2、在vars目录中创建文件main.yml

USER: www

WP: 2

PORT: 80

 

3、在templates目录中添加nginx配置文件

命名:nginx.conf.j2

这个文件在网上都有下载,或者在其他服务器拷贝。

2.png

编写其中的字段

user  {{ USER }};

worker_processes  {{ WP }};

listen       {{ PORT }};

 

4、在tasks中编写任务

(1)添加组

touch group.yml

- name: create a startup group

  group: name=www system=yes

 

(2)添加用户

touch user.yml

- name: create startup users

  user: name=www system=yes shell=/sbin/nologin

 

(3)创建日志目录

touch dir.yml

- name: create dir

  file:

        path: /etc/nginx/logs

        state: directory

        mode: '0755'

 

(4)yum安装nginx

vim install.yml

- name: install package nginx

  yum: name=nginx state=installed

 

(5)复制配置文件

touch config.yml

- name: copy nginx template file

  template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf

  notify: Restart Nginx

 

(6)启动nginx

touch start.yml

- name: Start nginx service

  service: name=nginx state=started enabled=yes

 

(7)执行所有的脚本

touch main.yml

- include: group.yml

- include: user.yml

- include: file.yml

- include: install.yml

- include: config.yml

- include: start.yml

 

5、编写控制

在handlers中创建文件main.yml

- name: Restart Nginx

  service: name=nginx state=restarted

 

6、编写执行脚本

在roles目录下创建文件nginx_roles.yml

---

- hosts: test

  remote_user: root

  roles:

  - role: nginx

 

7、执行脚本

ansible-playbook nginx_roles.yml

image.png


文章评论

0

其他文章