ansible httpd

卸载服务
ansible all -m shell -a ‘yum -y remove nginx’

检查用户 组 uid gid
ansible all -m shell -a ‘getent passwd nginx’
ansible all -m shell -a ‘getent group nginx’

ansible all -m shell -a ‘getent passwd | grep 123’

删除用户
ansible all -m shell -a ‘userdel -r nginx’
ansible all -m user -a ‘name=apache state=absent’

验证
ansible all -m shell -a ‘ss -ntlpe’ /* 端口 */
ansible all -m shell -a ‘ps aux | grep nginx /* 用户 进程数 */

编译安装
一台机器编译好
安装目录 打包复制

ansible /* 任意文件夹 */

├── group_vars /* 变量 –> 所有 role */


├── File_role.yml /* 与 roles 平级 */
│ …


└── roles


├── Pro_1
│ │
│ ├── tasks /* 必须有 其他文件夹 可无 */
│ │ ├── main.yml
│ │ … /* File.yml */
│ │
│ ├── handlers
│ │ └── main.yml
│ ├── vars
│ │ └── main.yml
│ ├── templates
│ │ ├── File.j2
│ │ …
│ └── files
│ ├── File
│ …


└── Pro_2
├── …

mkdir -pv Pro_1/{tasks,templates,vars,handlers,files}

vim app_role.yml
– hosts: all
remote_user: root

roles:
– app

– Pro_2 /* 调用多个角色 */

– { role: httpd , tags: [‘web’,’httpd’] } /* 添加标签 */
– { role: nginx , tags: [‘web’,’nginx’] , when: ansible_distribution_major_version == “7” } /* 条件判断 */
ansible-playbook -C -t httpd app_role.yml /* 挑选 标签 执行 */

vim tasks/main.yml
– include: group.yml
– include: user.yml
– include: yum.yml
– include: templ.yml
– include: start.yml
– include: copyfile.yml

– include: roles/Pro_2/tasks/File.yml /* 调用其他角色中任务 copy路径问题…*/
vim group.yml
– name: create group
group: name=app system=yes gid=123
vim user.yml
– name: create user
user: name=app group=app system=yes shell=/sbin/nologin uid=123
vim yum.yml
– name: install package
yum: name=httpd
vim templ.yml
– name: copy conf
template: src=httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf /* File.j2 即可 */
notify: restart service
vim start.yml
– name: start service
service: name=httpd state=started enabled=yes
vim copyfile.yml
– name: copy config
copy: src=vhosts.conf dest=/etc/httpd/conf.d/ owner=app /* 若被其他role调用 注意改 绝对路径 */

vim handlers/main.yml
– name: restart service
service: name=httpd state=restarted

vim vars/main.yml
username: app
groupname: app

cp /etc/httpd/conf/httpd.conf templates/httpd.conf.j2
vim templates/httpd.conf.j2
Listen {{ ansible_processor_vcpus*10 }}
User {{ username }}
Group {{ groupname }}

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/103710

(0)
倪潇洒倪潇洒
上一篇 2018-07-23
下一篇 2018-07-23

相关推荐

  • 从文本处理到脚本编辑

    文本处理工具grep 文本搜索工具,根据用户指定的“模式” 对目标文本逐行进行匹配检查,打印匹配到的行.-o 仅显示匹配到的字符串-v 显示不被模式匹配到的行-n 显示匹配的行数-c 统计匹配的行数-i 忽略字符大小写-q 静默模式,不输出任何信息-A# 后#行-B# 前#行-C# 前后各#行-e 实现多个选项间的逻辑or关系 grep -e ‘…

    Linux笔记 2018-04-24
  • 第二周作业

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 ls命令 显示目标列表 ls 选项 参数 -a 显示所有目录文件 -A 显示所有文件目录除了 “.” “..” -d 仅显示目录名 -i 显示文件索引节点号(inode) cp命令 复制命令,将一个文件或目录复制到指定文件或目录、 cp 选项 参数 -f 强行复制文件或目录,不论目标文…

    Linux笔记 2018-07-29
  • 进程和计划管理

    进程 进程是运行中的程序。每个程序启动后都会创建一个或多个程序。 常用查看进程的命令 ps 默认只查看当前用户终端中打开的进程 ps aux 显示所有进程信息,包括非终端登录以及其他终端、用户打开的进程 top 在当前终端以交互式方式显示进程排名,及时跟踪CPU、内存等系统资源的使用情况,默认三秒刷新一次。 P键:根据CPU占用情况对进程进行排序 M键:根据…

    Linux笔记 2018-05-06
  • 课堂实验

    实验:实现Gelera cluster 三台主机1 yum安装[mariadb]name = MariaDBbaseurl = https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-5.5.60/yum/centos7-amd64/gpgcheck=0 httpd2.2 order deny,allow a…

    2018-06-24
  • 第一周作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定。

    Linux笔记 2018-05-13
  • 第二周总结

    反向单引号 ` `:执行能力强,可以执行命令 [等价于$()]单引号 ‘ ’:只显示字符双引号 “ ”:识别变量,不识别命令花括号{ }: 里面内容互相组合 打印重复字符串的简化形式echo file{1,3,5} 结果为:file1 file3 file5rm -f file{1,3,5} 删除file1 file3 file5echo file{1..1…

    Linux笔记 2018-07-29