Python实现一键安装部署LNMP环境

最近一直在学Python,东西比较多,时间持续的也比较长,为了能够学以致用,想到了原来写过的shell一键安装部署LNMP脚本,既然shell能写,Python也一定能写,就用学到的知识写了下面这个版本,这可能并不是最优版本,等学到更多东西的时候再进行优化升级!

环境介绍:

Python 2.6.6

Centos 6.5

nginx 1.10.1

mysql 5.6.34

php 5.3.3

代码如下:

#!/bin/env python

import os

import sys

def enter(i):    #定义一个函数,传递一个参数,用作计数器

info=‘‘‘    #定义开头显示的提示选择信息

----- Select Install option -----

1.Install Nginx-1.10.1

2.Install Mysql-5.5.6.34

3.Install PHP-5.3.3

4.Install Required Components    #安装必备组件

5.Exit Program

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

‘‘‘

print info

n=raw_input(‘Input your select: ‘)    #接收一个输入数值

if n.isdigit():    #判断是否是数字

n=int(n)        #如果是就转换成整型,raw_input接收类型默认是字符串型

if n<=5 and n>=1:    #数字必须在可选范围之内

if not os.path.isdir(‘/data‘):    #判断是否存在/data目录

os.mkdir(‘/data‘)        #不存在就创建

else:

if n==1:        #如果选的是1

os.system(‘yum -y install nginx‘)    #运行shell命令安装nginx

enter(i)        #装完返回继续选择

if n==2:        #编译安装mysql,每个命令都在屏幕上显示

print "useradd mysql"

os.system(‘useradd mysql‘)

print "tar zxf /root/soft/mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz"

os.system(‘tar zxf /root/soft/mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz‘)

print "mv /root/soft/mysql-5.6.34-linux-glibc2.5-x86_64 /data/mysql"

os.system(‘mv /root/soft/mysql-5.6.34-linux-glibc2.5-x86_64 /data/mysql‘)

print "chown -R mysql.mysql /data/mysql/"

os.system(‘chown -R mysql.mysql /data/mysql/‘)

print "/bin/cp /root/soft/my.cnf /etc"

os.system(‘mv /root/soft/my.cnf /etc‘)

print "cd /data/mysql/&&scripts/mysql_install_db --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data/"

os.system(‘cd /data/mysql/&&scripts/mysql_install_db --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data/‘)

print "sed -i ‘s/PATH=$PATH:$HOME\/bin/PATH=$PATH:$HOME\/bin:\/data\/mysql\/bin:\/data\/mysql\/lib/‘  /root/.bash_profile"

os.system(‘sed -i "s/PATH=\$PATH:\$HOME\/bin/PATH=\$PATH:\$HOME\/bin:\/data\/mysql\/bin:\/data\/mysql\/lib/"  /root/.bash_profile‘)

print "source /root/.bash_profile"

os.system(‘source /root/.bash_profile‘)

print "cd /data/mysql/&&cp support-files/mysql.server /etc/init.d/mysql"

os.system(‘cd /data/mysql/&&cp support-files/mysql.server /etc/init.d/mysql‘)

print "service mysql start"

os.system(‘service mysql start‘)

print "chkconfig --add mysql"

os.system(‘chkconfig --add mysql‘)

enter(i)

if n==3:    #如果是编译安装PHP,要先选4进行必要组件安装

print "please install Required Components befor install PHP!"

os.system(‘yum -y install php-tidy php-common php-devel php-fpm php-mysql php-mysql php-odbc php-pear php-xml php-xmlrpc php lighttpd-fastcgi php-cli php-gd php-imap php-ldap‘)

enter(i)

if n==4:

os.system(‘yum -y install epel-release gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel libtidy libtidy-devel‘)

enter(i)

if n==5:    #退出程序

print "Program will be quite!"

sys.exit()

else:        #对应输入错数字,如果输入错误次数超过3次就退出程序

i-=1

if i==0:

print "Input error times too many! Program will be quite!"

sys.exit()

print "input error! please input again!"

enter(i)

else:           #对应输入如果不是数字

i-=1

if i==0:

print "Input error times too many! Program will be quite!"

sys.exit()

print "input error! please input again!"

enter(i)

i=3        #定义计数器

enter(i)      #函数调用,传入参数

时间: 2024-10-24 14:00:36

Python实现一键安装部署LNMP环境的相关文章

centos-6.5安装部署LNMP环境

系统信息: 1 2 3 4 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [[email protected] ~]# uname -r 2.6.32-573.22.1.el6.x86_64 1.安装nginx: 安装依赖库:yum -y install zlib zlib-devel openssl openssl-devel pcre-devel 官网下载源码包 wget http://ng

分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署

最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式处理,采用 flume 收集日志,发送到 kafka 队列做缓冲,storm 分布式实时框架进行消费处理,短期数据落地到 hbase.mongo中,长期数据进入 hadoop 中存储. 接下来打算将这其间所遇到的问题.学习到的知识记录整理下,作为备忘,作为分享,带给需要的人. 淘宝开源了许多产品组件

安装部署LNMP/大并发nginx优化/php性能加速 实战

安装部署LNMP及Nginx优化.PHP加速进行压力测试 部署LNMP环境: 主机 IP 主机名 Centos7.2 192.168.5.128 www.benet.com 部署步骤如下: 使用yum仓库安装Nginx依赖包 yum -y install  gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel 创建Nginx用户 组解压Nginx软件包 编译安装Nginx ./configur

Python Theano 一键安装

Download Anaconda Anaconda is a completely free Python distribution (including for commercial use and redistribution). It includes over 195 of the most popular Python packages for science, math, engineering, data analysis. 下载地址 : http://continuum.io/

ansible-playbook通过github拉取部署Lnmp环境

1. 配置服务器初始化  1.1) 关闭防火墙和selinux 1 [[email protected] ~]# /bin/systemctl stop firewalld 2 [[email protected] ~]# /bin/systemctl disable firewalld 3 [[email protected] ~]# getenforce #查看selinux是否开启 4 Enforcing #enforcing表示selinux开启的, 5 [[email protecte

部署LNMP环境

1.1 问题 安装部署Nginx.MariaDB.PHP环境 安装部署Nginx.MariaDB.PHP.PHP-FPM: 启动Nginx.MariaDB.FPM服务: 并测试LNMP是否工作正常. 1.2 方案 在RHEL7系统中,源码安装Nginx,使用RPM包安装MariaDB.PHP.PHP-FPM软件. 操作过程中需要安装的软件列表如下: nginx mariadb.mariadb-server.mariadb-devel php.php-fpm.php-mysql 1.3 步骤 实现

centos6.8下安装部署LNMP(备注:nginx1.8.0+php5.6.10+mysql5.6.12)

在平时运维工作中,经常需要用到LNMP应用框架.以下对LNMP环境部署记录下: 1)前期准备:为了安装顺利,建议先使用yum安装依赖库[[email protected] ~]#yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison libtool-ltdl-devel libiconv libmcrypt m

docker部署LNMP环境

首先要有确认环境中有需要的tar包,可以使用[docker pull]()来下载这些镜像 现在我们是使用已经下载好的镜像,所以需要导入一下 [[email protected] ~]# docker load -i nginx.tar && docker load -i wordpress.tar && docker load -i mysql-5.7.tar && docker load -i php.7.2-fpm.tar //导入nginx,wordp

一键 安装lamp+lnmp+ftp+Tomcat任意选择5分钟起飞

软件包+脚本 连接在这直接下就能用.用完记得好评喔 暴力又简单一键安装各种服务任你选择. 此安装包可在linux和centos系统上部署安装. 此安装包包含的软件及版本为: nginx:1.4.4 apache:2.2.29.2.4.10 mysql:5.1.73.5.5.40.5.6.21 php:5.2.17.5.3.29.5.4.23.5.5.7 php扩展:memcache.Zend Engine/ OPcache jdk:1.7.0 tomcat:7.0.54 ftp:(yum/apt