python脚本实现自动安装nginx
本文python脚本实现自动化安装是源码安装。实现任意版本安装,默认版本是1.13.11,也可以更改默认版本,手动配置安装目录。
环境:Ubuntu16.04,python3以上版本,Ubuntu自带python3.5.
下面是完整的代码实现:
#导入 os,sys模块
import os,sys
#检查用户是否是root
if os.getuid() != 0:
print("当前用户不是root,请以root身份执行脚本")
sys.exit(1)
# 版本号的选择
# http://nginx.org/download/nginx-1.13.11.tar.gz
def_var = '1.13.11'
var = input('请输入版本(默认{}):'.format(def_var))
var = var or def_var
# 安装目录的配置
def_path = '/usr/local/nginx'
path = input('请输入安装目录(默认{}):'.format(def_path))
path = path or def_path
# 如果存在同名文件先删除
if os.path.exists('nginx-{}.tar.gz'.format(var)):
os.remove('nginx-{}.tar.gz'.format(var))
# 下载源码包
url = 'http://nginx.org/download/nginx-{}.tar.gz'
cmd = 'wget ' + url.format(var)
res = os.system(cmd)
if res != 0:
print('下载失败')
sys.exit(1)
# 解压
cmd = 'tar -zxf nginx-{}.tar.gz'.format(var)
if os.system(cmd) != 0:
print('解压失败')
sys.exit(1)
# 安装依赖
cmd = 'apt install -y gcc make libpcre3-dev zlib1g-dev openssl libssl-dev'
if os.system(cmd) != 0:
print('安装依赖失败')
sys.exit(1)
# 配置
cmd='cd nginx-{} && ./configure --prefix=/usr/local/nginx --with-http_ssl_module'.format(var)
if os.system(cmd) != 0:
print('配置失败')
sys.exit(1)
# 编译
cmd='cd nginx-{} && make && make install'.format(var)
if os.system(cmd) != 0:
print('编译失败')
sys.exit(1)
print('安装成功')
python脚本实现自动安装nginx的更多相关文章
- python第三方库自动安装脚本
#python第三方库自动安装脚本,需要在cmd中运行此脚本#BatchInstall.pyimport oslibs = {"numpy","matplotlib&qu ...
- LNMP一键安装包-CentOS/Ubuntu/Debian自动安装Nginx,MySQL,PHP
适用环境: 系统支持:CentOS.Ubuntu.Debian 内存要求:≥128M 安装了什么: 1.Nginx-1.2.1 2.MySQL 5.5.25 3.PHP 5.2.17或PHP 5.3. ...
- python脚本-开机自动联网
办公室的电脑开机之后,需要打开浏览器登录校园用户认证网页,输入用户名密码登录认证之后才能联网,每次都这样搞很麻烦,写了个Python脚本自动完成这个工作. onStartup.py #file:onS ...
- Zabbix之Python脚本端口自动发现
Zabbix监控服务端口,可以手动添加配置,但是如果一个服务器上需要监控的端口数较多,那么利用Zabbix自动发现,比较高效,下面是自动发现port的Python脚本. #!/usr/bin/pyth ...
- python脚本实现自动保留ctime最近的几个文件
使用了给字典排序的sorted方法 #!/usr/bin/env python # coding:utf-8 import os def rm_backup(rm_path,days): files_ ...
- python脚本-实现自动按规则创建指定大小和指定个数的文件案例
# -*- coding: cp936 -*-#---------------------------------------------------------------------------- ...
- 【Linux】apt-get install 怎么阻止弹出框,使用脚本默认自动安装?
You can do a couple of things for avoiding this. Setting the DEBIAN_FRONTEND variable to noninteract ...
- 用vim写python脚本的自动缩进格式设置
- nginx脚本自动安装
nginx脚本自动安装 脚本功能: 自动安装nginx 自动判别系统是否安装nginx 自定义安装nginx路径 自定义安装nginx版本. #!/bin/bash #2019年10月30日16:00 ...
随机推荐
- JAVA函数库
1. 文件相关 1.1 判断目录是否存在 public static boolean dictionaryExist(String path) { File file = new File(path) ...
- python clickZan
import pyautogui,time,random pyautogui.PAUSE = 3 pyautogui.FAILSAFE = True width, height = pyautogui ...
- pycharm 的 使用 设置智能目录 Pycharm 断点跳转及 Step Over/Step Into/Step Out 等的区别
pycharm 右键点击文件夹 有个mark directiory as 根据需要给目录进行设置 Pycharm调试程序时,有时需要直接从第一个断点跳转至第二个断点,如果还是用单步调试的话就非常 ...
- 备份 分区表 mbr
备份方法: 1.备份分区表信息 sudo fdisk -l >hda.txt #分区表信息重定向输出到文件中 2.备份MBR linux@linux-desktop:~/ex$ sudo ...
- 10. react 基础 ref 的使用 及 React 16 的生命周期函数 及 生命周期函数使用场景
一. ref 的使用 ( 直接获取 DOM 元素 ) 在 input 标签上 可以使用 ref 属性 获取当前DOM节点 eg: import React , { Component, Fragmen ...
- Java编程知识点梳理
1. elementAt() temp.elementAt(0) 返回temp这个vector里面存放的第一个元素--->也是一个vector类型. 2. 字符串空格分割 String [] ...
- dac mssql server
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...
- cpu压测测试--------自己设定cpu需要跑到的压力
下载压力测试包 https://pan.baidu.com/s/1DJYAzBHHDxMViy5dMel2Lw 提取码:a5j3 使用方法: 方法一:前端启动,按Ctrl+c结束 java -Dbus ...
- Leetcode第1题:两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数.你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素.示例:给定 nums ...
- TypeError: TF_SessionRun_wrapper: expected all values in input dict to be ndarray.
在用Embedding时出现了这个问题,具体的代码: model.add(Embedding(input_dim = vocab_size, output_dim = embedding_vector ...