salt实现lamp自动化部署

三个文件夹:

pkg 安装软件包

file  管理配置文件

service   服务管理

思路: lamp需要安装的软件包有  httpd, php, mysql, mysql-server, php-mysql, php-pdo

cd  /srv/salt/dev/

mkdir   /srv/salt/dev/files/      ##放配置文件

vim  /srv/salt/dev/lamp.sls

lamp配置文件如下:

lamp-pkg-install:

pkg.installed:

- names:

- php

- mysql

- php-cli

- php-common

- php-mysql

- php-pdo

apache-service:

pkg.installed:

- name: httpd

file.managed:

- name: /etc/httpd/conf/httpd.conf

- source: salt://files/httpd.conf

- user: root

- group: root

- mode: 644

- require:

- pkg: apache-service

service.running:

- name: httpd

- enable: True

- reload: True

- watch:

- file: apache-service

mysql-service:

pkg.installed:

- name: mysql-server

- require_in:

- file: mysql-service

file.managed:

- name: /etc/my.cnf

- source: salt://files/my.cnf

- user: root

- group: root

- mode: 644

- watch_in:

- service: mysql-service

service.running:

- name: mysqld

- enable: True

vim  /srv/salt/top.sls

dev:

‘web2.coohx.com‘:

- lamp

执行:

salt ‘web2*‘ state.highstate

[[email protected] salt]# salt ‘web2*‘ state.highstate

web2.coohx.com:

....

...

----------

ID: apache-service

Function: file.managed

Name: /etc/httpd/conf/httpd.conf

Result: True

Comment: File /etc/httpd/conf/httpd.conf updated

Started: 19:22:16.063742

Duration: 56.123 ms

Changes:

----------

diff:

---

+++

@@ -273,7 +273,7 @@

# You will have to access it by its address anyway, and this will make

# redirections work in a sensible way.

#

-#ServerName www.example.com:80

+ServerName www.coohx.com:80

#

# UseCanonicalName: Determines how Apache constructs self-referencing

----------

ID: apache-service

Function: service.running

Name: httpd

Result: True

Comment: Service reloaded

Started: 19:22:16.189186

Duration: 267.497 ms

Changes:

----------

httpd:

True

----------

ID: mysql-service

Function: pkg.installed

Name: mysql-server

Result: True

Comment: Package mysql-server is already installed.

Started: 19:22:16.457774

Duration: 4.411 ms

Changes:

----------

ID: mysql-service

Function: file.managed

Name: /etc/my.cnf

Result: True

Comment: File /etc/my.cnf updated

Started: 19:22:16.463750

Duration: 25.095 ms

Changes:

----------

diff:

---

+++

@@ -13,6 +13,8 @@

# If you want to know which options a program supports, run the program

# with the "--help" option.

+#web2.coohx.com

+

# The following options will be passed to all MySQL clients

[client]

#password    = your_password

@@ -24,7 +26,7 @@

# The MySQL server

[mysqld]

port         = 3306

-socket               = /var/lib/mysql/mysql.sock

+socket               = /tmp/mysql.sock

character_set_server = utf8

skip-locking

key_buffer_size = 256M

----------

ID: mysql-service

Function: service.running

Name: mysqld

Result: False

Comment: Failed to restart the service

Started: 19:22:16.548901

Duration: 2260.008 ms

Changes:

----------

mysqld:

False

Summary

-------------

Succeeded: 11 (changed=4)

Failed:     1

-------------

Total states run:     12

时间: 2024-10-11 11:19:51

salt实现lamp自动化部署的相关文章

SaltStack实战之配置管理-LAMP自动化部署

SaltStack实战之配置管理-LAMP自动化部署 学习 SaltStack SaltStack实战之配置管理-LAMP自动化部署 1. 部署思路 2. 编写lamp.sls 1. 部署思路 将lamp分成3部分:软件包.配置文件.服务: 确认安装的软件包名.配置文件路径.服务名等: 按以上信息编写yaml文件: 2. 编写lamp.sls [[email protected] salt]# pwd/srv/salt[[email protected] salt]# lsdev  init  

LAMP自动化部署

自动化部署的步骤 1.软件包安装 2.配置文件修改 3.服务启动设置 实际完成apache和mysql的安装配置启动过程: 1.设置/etc/salt/master里面file_roots的目录: file_roots: base: - /srv/salt/ dev: - /srv/salt/dev/ test: - /srv/salt/test/ prod: - /srv/salt/prod/ 2.在/srv/salt/目录下新建dev目录,并且在/srv/salt/dev/目录下新建file

lamp自动化部署第三版

#!/bin/bash #author by martin 2015-07-22 #auto install lamp function apache_install(){ #apache auto install echo -e "\033[32m prepare apache env \033[0m" H_FILE=httpd-2.2.31.tar.gz H_DIR=httpd-2.2.31 yum install apr apr-util apr-devel apr-util-d

salt分布式自动化部署平台

集中管理平台上安装salt-master 各个交易所监控机上安装salt-minion和salt-master,各个客户端安装salt-minion; salt-master管理各个监控机,监控机管理各个客户端,这样实现统一自动化部署.

Cobbler自动化部署最佳实践

第1章 Cobbler自动化部署最佳实践 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的. 面对生产环境中不同服务器的需求,该如何实现批量部署多版本的操作系统呢?Cobbler便可以的满足这一实际需求,实现多版本操作系统批量部署. 笔者QQ:572891887 Linux架构交流群:471443208 1.1 Cobbler简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整

自动化部署难驾驭,分分钟拯救你的运维体系

笔者Q:552408925.572891887 架构师群:471443208 bjstack运维社区:524721466 有任何疑问请加群互动,或上社区发帖bjstack运维社区 bjstack.com 1.1早期手动部署代码     1.纯手动scp上传代码.     2.纯手动登陆,git pull 或者svn update.     3.纯手动xftp上传代码.     4.开发发送压缩包,rz上传,解压部署代码.     缺点:         1.全程运维参与,占用大量时间.     

自动化部署之cobbler的安装

概述  cobbler 作为物理机操作系统批量部署工具,应用非常广泛,可以实现从系统安装到 配置几乎无认为干涉的全自动化部署,他使用 dnsmasq 作为内部的 dhcp 和 dns 服 务器.可以自定义其 snippets 脚本来实现更复杂的安装配置操作.而且他支持 web ui 来进行配置.其核心组件主要有: Distros:定义Linux发行版 Profiles:安装组合配置文件,即可以通过前两者和不同 kickstart 或seed文件的组合,来部署具有不同功能的 linux 服务器.

Linux LTMP手动编译安装以及全自动化部署实践

前言 现在很多朋友都了解或者已经在使用LNMP架构,一般可以理解为Linux Shell为CentOS/RadHat/Fedora/Debian/Ubuntu/等平台安装LNMP(Nginx/MySQL/PHP),LNMPA(Nginx/MySQL/PHP/Apache),LAMP(Apache/MySQL/PHP)等类似的开发或生产环境.我自己是从SuSE/Oracle商业化环境走出来的,对于开源的部署方案也是在一点一点摸索,我相信其中也必然包含某些坑爹的配置.这篇文章较为详细的描述了基于LT

Git实现自动化部署案例实战

通过以上的学习,我们已经对git非常熟悉了,可以设计一个自动化部署脚本: q??约定: 1.已经有一个可以上线的代码在git仓库. 2.我们现在要做10个集群节点的一键部署,秒级回滚. 3.所有的web服务,都应该使用普通用户.(强烈建议) 4.所有的web服务都不应该监听80端口,除了负载均衡. q??自动化部署思路大纲: 1.获取最新代码 2.编译(可选) 3.配置文件(软连接或者拷贝). 4.打包(tar,加速传输) 5.文件分发(Scp Rsync Salt)(不需要密码验证) 6.将目