fabric差异化部署mysql和lnmp
2024-08-25 06:09:52
1、代码如下:
vim lnmp.py
------------------------------------------>
#!/usr/bin/env python from fabric.colors import *
from fabric.api import * env.user = 'root'
env.roledefs = {
'node1': ['172.16.1.207'],
'node2': ['172.16.1.208']
}
env.passwords = {
'root@172.16.1.207:22': 'redhat',
'root@172.16.1.208:22': 'redhat'
} @roles('node1')
def webtask():
print yellow("Install nginx php php-fpm...")
with settings(warn_only=True):
run("apt-get install nginx -y")
run("apt-get install mysql-server -y")
run("apt-get install php php-fpm php-mysql php-mbstring php-xml php-mcrypt php-gd -y")
run("service nginx start")
run("service php-fpm start") @roles('node2')
def dbtask():
print yellow("Install Mysql...")
with settings(warn_only=True):
run("apt-get install mysql-server -y")
run('service mysql restart') @roles('node1','node2')
def publictask():
print yellow("Install epel ntp...")
with settings(warn_only=True):
run("apt-get install ntp -y") def deploy():
execute(publictask)
execute(webtask)
execute(dbtask)
2、执行文件
fab -f lnmp.py deploy
最新文章
- SQL server 常用语句
- Codeforces Round #243 (Div. 2) B. Sereja and Mirroring
- Js和asp.net各自设置的cookie相互读取的方法
- rlwrap(在sqlplus下使用上下键)
- OC之JSON数据解析
- [转] boost库的Singleton的实现以及static成员的初始化问题
- 那些年搞不懂的";协变";和";逆变";
- 【NO.3-2】Jmeter - 在Linux配置HOSTS的方法
- Flask 之东方不败一
- HTTPS 原理浅析及其在 Android 中的使用
- Python 安装和 Pycharm 环境配置
- ucore-lab1-练习6report
- CSDN网站阅读更多:实现原理
- 启动CDH的cloudera-scm-server报错Error: JAVA_HOME is not set and Java could not be found
- Python基础知识之大杂烩
- 【模拟与阅读理解】Gym - 101954C Rullete
- ajax 异步请求
- ESLint 配置说明
- Mybatis学习——resultMap使用
- PHP5.6 和PHP7.0区别