我是靠谱客的博主 善良故事,这篇文章主要介绍Ansible搭建LAMP环境及Wordpress项目部署,现在分享给大家,希望可以做个参考。

目录

    • 前言
    • 一、实验环境
    • 二、项目部署
    • 总结

前言

Ansible是目前最受运维欢迎的自动化运维工具,基于Python开发,集合了众多运维工具(SaltStack puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。本次介绍一下通过Ansible来构建LAMP及Wordpress项目部署。

一、实验环境

测试环境:centos7.8

ansible机器:192.168.139.154

web机器:192.168.139.155

database机器:192.168.139.156

功能:ansible搭建LAMP环境及Wordpress项目部署

二、项目部署

(1)yml文件编写

这里要注意,编辑的文件结尾要以yaml或yml结尾,而且此类文件的语法格式是非常严谨的,所以要谨慎操作,尤其是语法格式、相关模块名称等。yml文件内容如下所示:

复制代码
1
2
[root@ansible ansible]# vim wordpress.yaml
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
--- # hosts: 后面可写主机组名或主机名 - hosts: all remote_user: root # 定义变量 vars: db_pkgs: # 以下的-为变量“值”,也就是在引用db_pkgs变量时,可取变量中的值 - mariadb - mariadb-server web_pkgs: - httpd - php - php-gd - php-mysql - gd # tasks:ansible机器要执行操作的任务列表(依次执行) tasks: # 安装mariadb - name: install mariadb # 引用变量时使用{{}} yum: name={{ db_pkgs }} state=latest when: ansible_nodename == 'database' # 安装webserver相关服务(httpd、php) - name: install webserver yum: name={{ web_pkgs }} state=latest when: ansible_nodename == 'web' # 启动mariadb - name: start mariadb service: name=mariadb state=started # 触发(类似c语言的中断信号),触发后会去handlers执行相关操作 notify: create_db # when判断,用来针对某主机执行的操作,比如这里是指定对database组里的机器进行操作 when: ansible_nodename == 'database' # 启动webserver相关服务 - name: start webserver service: name=httpd state=started when: ansible_nodename == 'web' # 将项目包发送到指定机器(及解包) - name: to package unarchive: src=/etc/ansible/wordpress-4.9.4-zh_CN.tar.gz dest=/var/www/html when: ansible_nodename == 'web' # 修改指定机器网站发布目录属组/主 - name: chown file: owner=apache group=apache recurse=yes path=var/www/html when: ansible_nodename == 'web' # 触发操作 handlers: # 注意:这里的name名字必须和notify的触发名称保持一致 - name: create_db # 调用shell解释器执行相关命令 shell: mysql -e "create database wordpress;grant all on *.* to 'zrs'@'%' identified by '015210';flush privileges;" # 同样这里是针对database这个主机组里的机器 when: ansible_nodename == 'database'

(2)运行前三部曲

  • 检查错误

    复制代码
    1
    2
    [root@ansible ansible]# ansible-playbook wordpress.yaml --syntax-check
  • 列出所有任务

    复制代码
    1
    2
    [root@ansible ansible]# ansible-playbook wordpress.yaml --list-task
  • 列出在那些机器执行

    复制代码
    1
    2
    [root@ansible ansible]# ansible-playbook wordpress.yaml --list-hosts

(3)运行yml文件

复制代码
1
2
[root@ansible ansible]# ansible-playbook wordpress.yaml

在这里插入图片描述

稍稍等待即可,执行完毕后就可以浏览器端访问和配置wordpress。

(4)查看database端的数据库是否起了

复制代码
1
2
[root@ansible ansible]# netstat -lntp

在这里插入图片描述

在这里插入图片描述

(5)查看web端的httpd是否起了

复制代码
1
2
[root@ansible ansible]# netstat -lntp

在这里插入图片描述

(6)浏览器端访问

在这里插入图片描述
项目部署成功,接下来就是点点点的操作。

如果想看具体的操作步骤,请移步至我的个人博客 https://blog.rabcnops.cn/posts/articles/1c8d3a9.html

总结

其实这里需要知道的是ansible是一款非常优秀的自动化运维工具,能批量安装部署。但要注意的是,ansible的yml文件书写格式,不能有任何出错(否则会导致无法运行),因为yml文件对格式的要求很严格。

最后

以上就是善良故事最近收集整理的关于Ansible搭建LAMP环境及Wordpress项目部署的全部内容,更多相关Ansible搭建LAMP环境及Wordpress项目部署内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(314)

评论列表共有 0 条评论

立即
投稿
返回
顶部