Roles小技巧:

1.创建roles目录结构,手动或使用ansible-galaxy init test roles

2.编写roles的功能,也就是tasks。 nginx rsyncd memcached

3.最后playbook引用roles编写好的tasks


mkdir /root/roles/nginx/{tasks,templates,handlers} ##tasks
[root@manager ~]# cat /root/roles/nginx/tasks/main.yml
- name: Install Nginx Server
yum:
name: nginx
state: present - name: Configure Nginx Server
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: Restart Nginx Server - name: Systemd Nginx Server
systemd:
name: nginx
state: started
enabled: yes ##template
[root@manager roles]# cat /root/roles/nginx/templates/nginx.conf.j2
user www;
worker_processes {{ ansible_processor_vcpus }}; error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid; events {
worker_connections {{ ansible_processor_vcpus * 1024 }};
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main; sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
} ###handlers
[root@manager ~]# cat /root/roles/nginx/handlers/main.yml
- name: Restart Nginx Server
systemd:
name: nginx
state: restarted #调用playbook
[root@manager roles]# cat /root/roles/site.yml
- hosts: webservers
roles:
- nginx ##hosts ansible.cfg 自备

memcached roles

#安装
#配置
#启动 #1.创建roles的目录结构
[root@manager roles]# mkdir memcached/{tasks,templates,handlers} -p #2.编写对应的tasks (1.安装 2配置(templates) 3.启动 4.重启(handlers) )
[root@manager roles]# cat memcached/tasks/main.yml
- name: Installed Memecached Server
yum:
name: memcached
state: present - name: Configure Memcached Server
template:
src: memcached.j2
dest: /etc/sysconfig/memcached
notify: Restart Memcached Server - name: System Memcached Server
systemd:
name: memcached
state: started
enabled: yes [root@manager roles]# cat memcached/templates/memcached.j2
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="{{ ansible_memtotal_mb //2 }}"
OPTIONS="" [root@manager roles]# cat memcached/handlers/main.yml
- name: Restart Memcached Server
systemd:
name: memcached
state: restarted #3.playbook调用roles
[root@manager roles]# cat site.yml
- hosts: webservers
roles:
- { role: nginx, tags: web }
- { role: memcached, tags: cache }

NFS服务


#1.创建项目目录结构 --->
[root@manager roles]# mkdir nfs/{tasks,templates,handlers} -p #2.编写task任务 #3.playbook调用roles项目
  • roles:

    • 1.nginxProxy+keepalived 10.0.0.5 10.0.0.6 10.0.0.3
    • 2.nginx静态网站 172.16.1.7 172.16.1.8

最新文章

  1. MS AX 技术相关网站收藏
  2. 项目之solr全文搜索工具的安装
  3. Django--models基础
  4. Hadoop集群中添加硬盘
  5. linux 可用内存查看
  6. 【转】android如何浏览并选择图片 音频 视频
  7. Windows命令行下pip安装python whl包
  8. poj1006 ( hdu1370 ):中国剩余定理裸题
  9. Windows下QT4.8.4编译环境的搭建(转载http://blog.csdn.net/bestgonghuibin/article/details/38933141)
  10. php redis 函数手册
  11. 利用php做出简单的发布信息和回复功能
  12. SharePoint 2007 单列表模糊查询SPD定制
  13. Spring Boot JPA Entity Jackson序列化触发懒加载的解决方案
  14. java基础知识—字符串
  15. guxh的python笔记八:特殊方法
  16. LeetCode【100. 相同的树】
  17. java select 多字段处理查询结果辅助类
  18. 【Python】socket编程-3
  19. web前端优化
  20. 利用队列Queue实现一个多并发“线程池”效果的Socket程序

热门文章

  1. webstorm 突然不能用了?解决办法~
  2. 常用logback.xml配置详解
  3. 【Offer】[63] 【股票的最大利润】
  4. 基于队列queue实现的线程池
  5. springCloud相关学习资料
  6. Caused by: java.net.UnknownHostException
  7. MySql创建索引、删除索引、新增字段、删除字段、修改字段语句
  8. IOS集成JPush
  9. Python网络爬虫实战(一)快速入门
  10. Unity3D_01_各种寻找GameObject方法