role实现nginx安装
安装一个服务,需要建立以下内容:
(1)创建组(2)创建用户(3)安装程序(4)配置文件(5)启动服务,现开始建立
1、建立roles目录,名称不能改,必须叫roles,进入文件夹,建立nginx
2、建立任务tasks目录,进入该目录开始按规划进行
(1)创建组,group.yml
(2)创建用户,user.yml
(3)创建安装程序任务,innginx.yml
(4)创建模板templates,创建roles/nginx/templates,将修改过的nginx配置文件复制此目录下,cp /etc/nginx/nginx.conf roles/nginx/templates/nginx.conf.j2(修改内容详见template模板实验),修改后建立模板调用任务,在tasks目录内建立template.yml
(5)创建服务启动任务,设置开机启动
(6)创建好后,还需要一个将它们串接起来的main.yml文件,同样需要放到tasks目录内
3、建立roles.yml,要求和roles文件平级目录
4、建立handler任务,进入handler目录,新建main.yml文件,里面写入,结构如下
handlers写好,需要标记notify,标记的是templates模板最后的目录树形结构
5、测试
注:如果以后维护很多服务,我们可以用roles,此时roles可以放很多以服务名为名字的目录,各自的目录内有各自的tasks、template、handler等,就像这次nginx的目录结构一样,建立好后我们只需在roles目录同级的文件夹内建立roles.yml来调用各服务的roles
- hosts: all
remote_user: root
roles:
- role: nginx
- role: mysql
- role: httpd