利用ansbile部署lamp并部署Discuz(非分布式)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 利用ansbile部署lamp并部署Discuz(非分布式),实验准备,设置ansbile的hosts文件,在192.168.115.148上完成相关准备,编写roles,执行

一、实验准备


192.168.115.148:ansbile

192.168.115.149

192.168.115.151

设置防火墙、selinux

systemctl stop firewalld

setenforce 0

二、设置ansbile的hosts文件



[group]
192.168.115.148
192.168.115.149
192.168.115.151

三、在192.168.115.148上完成相关准备

上传Discuz_X3.3_SC_UTF8.zip

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

四、编写roles


创建目录
cd /etc/ansible/roles/
mkdir -p {httpd,mysql,php,Discuz}/{files,tasks,handlers,templates,vars,meta}
touch {httpd,mysql,php,Discuz}/{tasks,handlers,vars,meta}/main.yml
tree
.
├── Discuz
│   ├── files
│   ├── handlers
│   │   └── main.yml
│   ├── meta
│   ├── tasks
│   │   └── main.yml
│   ├── templates
│   └── vars
├── http
│   ├── files
│   ├── handlers
│   ├── meta
│   ├── tasks
│   │   └── main.yml
│   ├── templates
│   └── vars
├── mysql
│   ├── files
│   ├── handlers
│   ├── meta
│   ├── tasks
│   │   └── main.yml
│   ├── templates
│   └── vars
└── php
    ├── files
    ├── handlers
    ├── meta
    ├── tasks
    │   └── main.yml
    ├── templates
    └── vars
编写http的main.yml
vim /ect/ansbile/roles/http/tasks/main.yml
---
- name: 删除原来的yum源
  shell: rm -rf /etc/yum.repos.d/*
- name: 分发本地源文件
  copy: src=/etc/local.repo dest=/etc/yum.repos.d/
- name: 挂载本地sr0光盘
  shell: mount /dev/sr0 /mnt
- name: 安装http服务
  yum: name=httpd state=present
- name: 启动httpd服务,并设为开机自启
  service: name=httpd state=started enabled=yes
- name: 删除httpd默认的访问网页
  shell: rm -rf /var/www/html/*
编写mysql的main.yml
vim /etc/ansible/roles/mysql/tasks/main.yml
---
- name: 安装mysql
  shell: yum -y install mariadb mariadb-server
- name: 启动mariadb设为开机自启
  shell: systemctl start mariadb && systemctl enable mariadb
- name: 创建数据库hy
  shell: mysql -e 'create database hy;'
- name: 创建用户qzh
  shell: mysql -e 'create user"qzh"@"localhosr" identified by "123.com";'
- name: 为用户qzh授权hy库中的所有权限
  shell: mysql -e 'grant all privileges on hy.* to "qzh"@"localhost";'
编写phpmain.yml
vim /etc/ansible/roles/php/tasks/main.yml 
---
- name: 安装php环境/依赖
  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
vim /etc/ansible/roles/Discuz/tasks/main.yml
---
- name: 分发论坛文件
  copy: src=/Discuz_X3.3_SC_UTF8.zip dest=/opt
- name: 安装zip解压工具
  yum: name=unzip state=present
- name: 解压论坛
  shell: cd /opt && unzip Discuz_X3.3_SC_UTF8.zip
- name: 移动论坛文件
  shell: mv /opt/upload/* /var/www/html
- name: 修改属主为Apache
  shell: chown -R apache /var/www/html/*
  notify: restart httpd
编写playbook
vim /etc/ansible/lamp.yml
---
- hosts: group
  remote_user: root
  roles:
    - http
    - mysql
    - php
    - Discuz

五、执行


ansible-playbook /etc/ansible/lamp.yml

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
分布式计算 Java Hadoop
杨校老师课堂之分布式数据库HBase的部署和基本操作
杨校老师课堂之分布式数据库HBase的部署和基本操作
59 0
|
2月前
|
存储
cephFS高可用分布式文件系统部署指南
关于如何部署高可用的cephFS分布式文件系统,包括集群的搭建、验证高可用性以及实现两主一从架构的详细指南。
70 9
|
2月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
57 0
|
3月前
|
Java Nacos Docker
"揭秘!Docker部署Seata遇上Nacos,注册成功却报错?这些坑你不得不防!一网打尽解决秘籍,让你的分布式事务稳如老狗!"
【8月更文挑战第15天】在微服务架构中,Nacos搭配Seata确保数据一致性时,Docker部署Seata后可能出现客户端连接错误,如“can not connect to services-server”。此问题多由网络配置不当、配置文件错误或版本不兼容引起。解决策略包括:调整Docker网络设置确保可达性;检查并修正`file.conf`和`registry.conf`中的Nacos地址和端口;验证Seata与Nacos版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
222 0
|
3月前
|
存储 运维 安全
多云网络部署存在挑战,F5分布式云应用简化方案解读
多云网络部署存在挑战,F5分布式云应用简化方案解读
47 0
|
6月前
|
关系型数据库 MySQL 数据库
测试部署PolarDB-X 分布式与集中式
在本文中,作者详述了在CentOS 7.9上部署测试PolarDB-X分布式与集中式数据库的过程。PolarDB-X作为阿里云优化的分布式数据库,提供高稳定性和与MySQL的兼容性,是应对单体数据库扩展性和性能瓶颈的解决方案,同时也符合国产化需求。文章介绍了部署环境准备,包括关闭防火墙和SELinux,设置系统参数,安装Python3和Docker,以及配置MySQL客户端。接着,通过PXD工具部署了PolarDB-X的集中式和分布式版,遇到的问题包括阿里云镜像源异常导致的部署失败以及指定版本安装的困扰。最后,作者进行了初步的压力测试,并对文档完善、生态工具建设以及提供更多使用案例提出了建议。
47951 10
测试部署PolarDB-X 分布式与集中式
|
4月前
|
缓存 Devops 微服务
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
|
6月前
|
SQL 消息中间件 存储
【一文看懂】使用hape部署分布式版Havenask
本次分享内容为使用hape部署分布式版Havenask,共2个部分组成(部署分布式版Havenask集群、 分布式相关问题排查),希望可以帮助大家更好了解和使用Havenask。
165129 6
|
6月前
|
Java 大数据 流计算
使用Docker快速部署Flink分布式集群
使用Docker快速部署Flink分布式集群
714 0
|
6月前
使用JWT的服务分布式部署之后报错:JWT Check Failure:
使用JWT的服务分布式部署之后报错:JWT Check Failure:
107 1

热门文章

最新文章