码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 利用ansbile部署lamp并部署Discuz(非分布式)


    目录

    一、实验准备

    二、设置ansbile的hosts文件

    三、在192.168.115.148上完成相关准备

    上传Discuz_X3.3_SC_UTF8.zip

    配置本地源、确保我们的sr0挂载后可以使用

    四、编写roles

    创建目录

    编写http的main.yml

    编写mysql的main.yml

    编写phpmain.yml

    编写Discuz的main.yml

    编写playbook

    五、执行


    一、实验准备

    192.168.115.148:ansbile

    192.168.115.149

    192.168.115.151

    设置防火墙、selinux

    systemctl stop firewalld

    setenforce 0

    二、设置ansbile的hosts文件

    1. [group]
    2. 192.168.115.148
    3. 192.168.115.149
    4. 192.168.115.151

    三、在192.168.115.148上完成相关准备

    上传Discuz_X3.3_SC_UTF8.zip

    配置本地源、确保我们的sr0挂载后可以使用
    1. vim /etc/local.repo
    2. [local]
    3. name=local
    4. baseurl=file:///mnt
    5. enabled=1
    6. gpgcheck=0

    四、编写roles

    创建目录
    1. cd /etc/ansible/roles/
    2. mkdir -p {httpd,mysql,php,Discuz}/{files,tasks,handlers,templates,vars,meta}
    3. touch {httpd,mysql,php,Discuz}/{tasks,handlers,vars,meta}/main.yml
    4. tree
    5. .
    6. ├── Discuz
    7. │   ├── files
    8. │   ├── handlers
    9. │   │   └── main.yml
    10. │   ├── meta
    11. │   ├── tasks
    12. │   │   └── main.yml
    13. │   ├── templates
    14. │   └── vars
    15. ├── http
    16. │   ├── files
    17. │   ├── handlers
    18. │   ├── meta
    19. │   ├── tasks
    20. │   │   └── main.yml
    21. │   ├── templates
    22. │   └── vars
    23. ├── mysql
    24. │   ├── files
    25. │   ├── handlers
    26. │   ├── meta
    27. │   ├── tasks
    28. │   │   └── main.yml
    29. │   ├── templates
    30. │   └── vars
    31. └── php
    32. ├── files
    33. ├── handlers
    34. ├── meta
    35. ├── tasks
    36. │   └── main.yml
    37. ├── templates
    38. └── vars
    编写http的main.yml
    1. vim /ect/ansbile/roles/http/tasks/main.yml
    2. ---
    3. - name: 删除原来的yum源
    4. shell: rm -rf /etc/yum.repos.d/*
    5. - name: 分发本地源文件
    6. copy: src=/etc/local.repo dest=/etc/yum.repos.d/
    7. - name: 挂载本地sr0光盘
    8. shell: mount /dev/sr0 /mnt
    9. - name: 安装http服务
    10. yum: name=httpd state=present
    11. - name: 启动httpd服务,并设为开机自启
    12. service: name=httpd state=started enabled=yes
    13. - name: 删除httpd默认的访问网页
    14. shell: rm -rf /var/www/html/*
    编写mysql的main.yml
    1. vim /etc/ansible/roles/mysql/tasks/main.yml
    2. ---
    3. - name: 安装mysql
    4. shell: yum -y install mariadb mariadb-server
    5. - name: 启动mariadb设为开机自启
    6. shell: systemctl start mariadb && systemctl enable mariadb
    7. - name: 创建数据库hy
    8. shell: mysql -e 'create database hy;'
    9. - name: 创建用户qzh
    10. shell: mysql -e 'create user"qzh"@"localhosr" identified by "123.com";'
    11. - name: 为用户qzh授权hy库中的所有权限
    12. shell: mysql -e 'grant all privileges on hy.* to "qzh"@"localhost";'
    编写phpmain.yml
    1. vim /etc/ansible/roles/php/tasks/main.yml
    2. ---
    3. - name: 安装php环境/依赖
    4. yum: name=php,php-gd,php-ldap,php-odbc,php-pear,php-xml,php-xmlrpc,php-mbstring,php-snmp,php-soap,curl,curl-devel,php-bcmath,php-mysql state=present
    编写Discuz的main.yml
    1. vim /etc/ansible/roles/Discuz/tasks/main.yml
    2. ---
    3. - name: 分发论坛文件
    4. copy: src=/Discuz_X3.3_SC_UTF8.zip dest=/opt
    5. - name: 安装zip解压工具
    6. yum: name=unzip state=present
    7. - name: 解压论坛
    8. shell: cd /opt && unzip Discuz_X3.3_SC_UTF8.zip
    9. - name: 移动论坛文件
    10. shell: mv /opt/upload/* /var/www/html
    11. - name: 修改属主为Apache
    12. shell: chown -R apache /var/www/html/*
    13. notify: restart httpd
    编写playbook
    1. vim /etc/ansible/lamp.yml
    2. ---
    3. - hosts: group
    4. remote_user: root
    5. roles:
    6. - http
    7. - mysql
    8. - php
    9. - Discuz

    五、执行

    ansible-playbook /etc/ansible/lamp.yml

    。

    。

    。

    。

  • 相关阅读:
    xinput1_4.dll丢失怎么修复?修复方法分享
    亚马逊测评自养号成号率的关键因素及风控策略探讨
    mongodb Community 7 安装(linux)
    DEVOPS: 认证与调度
    数据结构八种内部排序算法c++实现
    微信小程序| 做一款多人实时线上的五指棋联机游戏
    分布式定时任务
    【Python百日进阶-数据分析】Day120 - Plotly Figure参数: 散点图(二)
    【Markdown】编辑器使用技巧大汇总1。CSDN如何使用Markdown编辑器?如何在CSDN中输入数学公式?数学公式中如何输入上标和下标?
    微信小程序请求request封装
  • 原文地址:https://blog.csdn.net/2302_78534730/article/details/132802639
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号