8.19笔记

通过 roles 实现 lamp

需定制三个⻆⾊ : httpd,mysql,php

 1  创建 roles ⽬录及⽂件 , 并确认⽬录结构

 
  1. master# cd /etc/ansible/roles/

  2. master# mkdir -p

  3. {httpd,mysql,php}/{files,tasks,handlers,templates,v

  4. ars,meta}

  5. master# touch

  6. {httpd,mysql,php}/{tasks,handlers,vars,meta}/main.y

  7. ml

  8. master# yum install tree -y

  9. master# tree /etc/ansible/roles/

  10. /etc/ansible/roles/

  11. "## httpd

  12. $ "## files

  13. $ "## handlers

  14. $ $ %## main.yml

  15. $ "## meta

  16. $ $ %## main.yml

  17. $ "## tasks

  18. $ $ %## main.yml

  19. $ "## templates

  20. $ %## vars

  21. $ %## main.yml

  22. "## mysql

  23. $ "## files

  24. $ "## handlers

  25. $ $ %## main.yml

  26. $ "## meta

  27. $ $ %## main.yml

  28. $ "## tasks

  29. $ $ %## main.yml

  30. $ "## templates

  31. $ %## vars

  32. $ %## main.yml

  33. %## php

  34. "## files

  35. "## handlers

  36. $ %## main.yml

  37. "## meta

  38. $ %## main.yml

  39. "## tasks

  40. $ %## main.yml

  41. "## templates

  42. %## vars

  43. %## main.yml

  44. 第2步: 准备httpd服务器的主⻚⽂件,php测试⻚和配置⽂件等

  45. master# echo "test main page" >

  46. /etc/ansible/roles/httpd/files/index.html

  47. master# echo -e "<?php\n\tphpinfo();\n?>" >

  48. /etc/ansible/roles/httpd/files/test.php

  49. master# yum install httpd -y

  50. 按需求修改配置⽂件后,拷⻉到httpd⻆⾊⽬录⾥的files⼦⽬录

  51. master# vim /etc/httpd/conf/httpd.conf

  52. master# cp /etc/httpd/conf/httpd.conf

  53. /etc/ansible/roles/httpd/files/

  54.  

第3步: 编写httpd⻆⾊的main.yml⽂件
 

 
  1. ---

  2. - name: 安装httpd

  3. yum: name=httpd,httpd-devel state=present

  4. - name: 同步httpd配置⽂件

  5. copy:

  6. src=/etc/ansible/roles/httpd/files/httpd.conf

  7. dest=/etc/httpd/conf/httpd.conf

  8. notify: restart httpd

  9. - name: 同步主⻚⽂件

  10. copy:

  11. src=/etc/ansible/roles/httpd/files/index.html

  12. dest=/var/www/html/index.html

  13. - name: 同步php测试⻚

  14. copy:

  15. src=/etc/ansible/roles/httpd/files/test.php

  16. dest=/var/www/html/test.php

  17. - name: 启动httpd并开机⾃启动

  18. service: name=httpd state=started enabled=yes

 4  编写 httpd ⻆⾊⾥的 handler

 
  1. master# vim

  2. /etc/ansible/roles/httpd/handlers/main.yml

  3. ---

  4. - name: restart httpd

  5. service: name=httpd state=restarted

 5  编写 mysql ⻆⾊的 main.yml ⽂件

 
  1. ---

  2. - name: 安装mysql

  3. yum: name=mariadb,mariadb-server,mariadb-devel

  4. state=present

  5. - name: 启动mysql并开机⾃启动

  6. service: name=mariadb state=started enabled=yes

 6  编写 php ⻆⾊的 main.yml ⽂件

 
  1. master# vim /etc/ansible/roles/php/tasks/main.yml

  2. ---

  3. - name: 安装php及依赖包

  4. yum: name=php,php-gd,php-ldap,php-odbc,phppear,php-xml,php-xmlrpc,php-mbstring,php-snmp,phpsoap,curl,curl-devel,php-bcmath,php-mysql

  5. state=present

  6. notify: restart httpd

 7  : 编写 lamp  playbook ⽂件调⽤前⾯定义好的三个⻆⾊

 
  1. master# vim /etc/ansible/playbook/lamp.yaml

  2. ---

  3. - hosts: group1

  4. remote_user: root

  5. roles:

  6. - httpd

  7. - mysql

  8. - php

 8  执⾏ lamp  playbook ⽂件

 
  1. master# ansible-playbook

  2. /etc/ansible/playbook/lamp.yaml

拓展案例 通过 roles 实现 lamp 并安装 discuz

 1  创建 roles ⽬录及⽂件 , 并确认⽬录结构

 
  1. master# cd /etc/ansible/roles/

  2. master# mkdir -p

  3. {httpd,mysql,php}/{files,tasks,handlers,templates,v

  4. ars,meta}

  5. master# touch

  6. {httpd,mysql,php}/{tasks,handlers,vars,meta}/main.y

  7. ml

 2  准备 httpd 相关⽂件

 
  1. master# ls /etc/ansible/roles/httpd/files/

  2. Discuz_X3.2_SC_UTF8.zip Discuz相关软件包

  3. httpd.conf 配置好的httpd.conf配置⽂

 3  编写 httpd ⻆⾊的 main.yml ⽂件

 
  1. master# vim /etc/ansible/roles/httpd/tasks/main.yml

  2. - name: 安装httpd相关软件包

  3. yum: name=httpd,httpd-devel state=latest

  4. - name: 同步配置⽂件

  5. copy:

  6. src=/etc/ansible/roles/httpd/files/httpd.conf

  7. dest=/etc/httpd/conf/httpd.conf

  8. notify: restart httpd

  9. - name: 拷⻉discuz压缩包

  10. copy:

  11. src=/etc/ansible/roles/httpd/files/Discuz_X3.2_SC_U

  12. TF8.zip dest=/tmp/

  13. - name: 解压并mv⽹站⽂件到httpd家⽬录

  14. shell: rm -rf /var/www/html/* && rm -rf /test/

  15. && mkdir -p /test/ && unzip

  16. /tmp/Discuz_X3.2_SC_UTF8.zip -d /test/ &> /dev/null

  17. && mv /test/upload/* /var/www/html/ && chown -R

  18. apache.apache /var/www/html/

  19. # 上⾯的命令有点多,可以写成脚本,然后使⽤script模块来调⽤执

  20. - name: 启动httpd并开机⾃启动

  21. service: name=httpd state=started enabled=on

 4  编写httpd ⻆⾊⾥的 handler

 
  1. master# vim

  2. /etc/ansible/roles/httpd/handlers/main.yml

  3. ---

  4. - name: restart httpd

  5. service: name=httpd state=restarted

 5  编写 mysql ⻆⾊的 main.yml ⽂件

 
  1. master# vim /etc/ansible/roles/mysql/tasks/main.yml

  2. ---

  3. - name: 安装mariadb相关软件包

  4. yum: name=mariadb-server,mariadb-devel

  5. state=latest

  6. - name: 启动mariadb服务并设置开机⾃启动

  7. service: name=mariadb state=started enabled=on

  8. - name: 执⾏建库脚本

  9. script: /etc/ansible/roles/mysql/files/create.sh

 6  编写 mysql 的建库脚本

 
  1. master# vim

  2. /etc/ansible/roles/mysql/files/create.sh

  3. #!/bin/bash

  4. mysql << EOF

  5. create database if not exists discuz default

  6. charset=utf8;

  7. grant all on discuz.* to 'discuz'@'localhost'

  8. identified by '123';

  9. flush privileges;

  10. EOF

 7  编写 php ⻆⾊的 main.yml ⽂件

 
  1. master# vim /etc/ansible/roles/php/tasks/main.yml

  2. ---

  3. - name: 安装php相关软件包

  4. yum: name=php,php-gd,php-ldap,php-odbc,phppear,php-xml,php-xmlrpc,php-mbstring,php-snmp,phpsoap,curl,curl-devel,php-bcmath,php-mysql

  5. state=present

  6. notify: restart httpd

 8  : 编写 lamp  playbook ⽂件调⽤前⾯定义好的三个⻆⾊

 
  1. master# vim /etc/ansible/playbook/lamp.yaml

  2. ---

  3. - hosts: group1

  4. remote_user: root

  5. roles:

  6. - httpd

  7. - mysql

  8. - php

 9  执⾏ lamp  playbook ⽂件

 
  1. master# ansible-playbook

  2. /etc/ansible/playbook/lamp.yaml

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上安装MySQL 8.19,您可以按照以下步骤操作: 1. 首先,您需要下载MySQL 8.19的压缩包,并将其解压缩到/usr/local/目录下。您可以使用以下命令将解压得到的文件移动到/usr/local/目录,并重新命名为mysql: ``` mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql ``` 引用 2. 接下来,您需要修改/usr/local/mysql/目录的权限,以确保MySQL能够正常运行。您可以使用以下命令更改目录的所有者和组为mysql: ``` chown -R mysql.mysql /usr/local/mysql/ ``` 引用 3. 之后,您可以将MySQL的启动脚本复制到/etc/init.d/目录中,以便MySQL可以作为服务启动和停止。您可以使用以下命令执行此操作: ``` cp ../support-files/mysql.server /etc/init.d/mysqld ``` 引用 完成上述步骤后,您就成功安装了MySQL 8.19。您可以使用适当的命令启动、停止和管理MySQL服务。请记住,这只是安装MySQL的基本步骤,您可能需要根据您的具体需求进行其他配置和设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [centos7安装MySQL Community Server 8.0.19](https://blog.csdn.net/resuper0/article/details/104442933)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值