zoukankan      html  css  js  c++  java
  • 马哥博客作业第十二周

    1、通过ansible Roles编排实现 httpd 角色的部署
    1)设置SSH免密码登陆
    [root@localhost ~]# cat ssh_nopass.sh
    #!/bin/bash
    #ssh nopassword

    [ -f ~/.ssh/id_rsa ] || ssh-keygen -f ~/.ssh/id_rsa -P "" -q
    rpm -q sshpass &> /dev/null || yum -y install sshpass &> /dev/null
    passwd=123456
    prefix=10.0.0.

    for i in {10..12};do
    {
    sshpass -p $passwd ssh-copy-id -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa root@$prefix${i} &> /dev/null
    }&
    done
    wait

    [root@localhost ~]# bash ssh_nopass.sh
    2)安装ansible
    [root@localhost ~]# yum -y install ansible
    [root@localhost ~]# vim /etc/ansible/hosts
    文件末尾添加以下内容
    [webserv]
    10.0.0.10
    10.0.0.11
    10.0.0.12

    3)创建ansible任务
    [root@localhost ~]# mkdir -pv /root/ansible/roles/httpd/{tasks,handlers}
    [root@localhost ~]# cd /root/ansible/roles/httpd/tasks
    [root@cento7 ~/ansible/roles/httpd/tasks]# cat main.yml
    - include: install.yml
    - include: config.yml
    - include: mkdir.yml
    - include: index.yml
    - include: service.yml

    [root@cento7 ~/ansible/roles/httpd/tasks]# cat install.yml
    - name: install httpd
      yum: name=httpd

    [root@cento7 ~/ansible/roles/httpd/tasks]# cat config.yml
    - name: config Document
      lineinfile: path=/etc/httpd/conf/httpd.conf regexp="^DocumentRoot" line="DocumentRoot" /data/html""
    - name: config Directory
      lineinfile: path=/etc/httpd/conf/httpd.conf regexp="^<Directory .*html" line="<Directory "/data/html">"

    [root@cento7 ~/ansible/roles/httpd/tasks]# cat mkdir.yml
    - name: create DocumentRoot
      file: name=/data/html state=directory

    [root@cento7 ~/ansible/roles/httpd/tasks]# cat index.yml
    - name: httpd index.html
      shell: echo "HTTP Server is Ansible" > /data/html/index.html
      notify: restart httpd service

    [root@cento7 ~/ansible/roles/httpd/tasks]# cat service.yml
    - name: start httpd service
      service: name=httpd state=started enabled=yes

    [root@localhost ~]# cd /root/ansible/roles/httpd/handlers/
    [root@cento7 ~/ansible/roles/httpd/handlers]# cat main.yml
    - name: restart httpd service
      service: name=httpd state=restarted

    #注意:role_httpd.yml和roles在同一级目录
    [root@cento7 ~/ansible/roles/httpd/handlers]# cat main.yml
    - name: restart httpd service
      service: name=httpd state=restarted

    [root@cento7 ~/ansible]# cat role_httpd.yml
    ---
    # httpd role
    - hosts: webserv
      remote_user: root

      roles:
        - httpd
    4)执行ansible-playbook文件
    [root@cento7 ~/ansible]# ansible-playbook role_httpd.yml

    5)测试
    [root@cento7 ~/ansible]# curl 10.0.0.10
    [root@cento7 ~/ansible]# curl 10.0.0.11
    [root@cento7 ~/ansible]# curl 10.0.0.12

    2、简述 MySQL 数据库访问的执行过程
    客户端连接MySQL服务器Connection Handing,然后发布查询,如果缓存中有结果,则直接返回结果,如果结果没有被缓存,MySQL解析查询Parser将通过优化器Optimizer生成执行计划,然后运行执行计划通过Pluggable Storage Engine API从存储引擎中获取数据,并返回给客户端。

    3、S E L E C T 语句的完整语法较复杂,但至少包括的部分是 ( B )
    A.仅 S E L E C T
    B.S E L E C T ,F R O M
    C.S E L E C T ,G R O U P
    D.S E L E C T ,I N T O

    4、一张表的主键个数为 ( C )
    A.至多 3 个 B.没有限制
    C.至多 1 个 D.至多 2 个

  • 相关阅读:
    总结
    PHP的重载-使用魔术方法实现
    用PHP实现一些常见的排序算法
    MySQL分组聚合group_concat + substr_index
    各种链接地址
    在Linux服务器上使用rz命令上传文件时时老报:Segmentation Fault,上传失败
    新安装的windows 10无法更新报0x80240fff错误的解决方案
    通过SSH key获取GitHub上项目,导入到IDEA中
    解压.zip,.tar.gz文件到指定目录,重命名文件
    byte字节数组的压缩
  • 原文地址:https://www.cnblogs.com/xuanlv-0413/p/13522833.html
Copyright © 2011-2022 走看看