一键部署nginx

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash
systemctl stop firewalld && setenforce 0
#首先安装nginx的依赖环境
yum -y install gcc pcre-devel zlib-devel net-tools wget
#解压nginx的安装包
if [ ! -d "/root/nginx-1.16.1" ]; then
         wget http://nginx.org/download/nginx-1.16.1.tar.gz
         tar -zxf nginx-1.16.1.tar.gz
        echo "压缩包已解压"
else
        echo "此文件已存在"
        continue
fi
#进去文件开始检查环境 编译安装
if [ ! -d /usr/local/nginx ]; then
        cd /root/nginx-1.16.1 && ./configure && make && make install
else
        continue
fi
#判断是否nginx的端口被占用
pid_file="/usr/local/nginx/logs/nginx.pid"
if [ ! -e ${pid_file} ]; then
        echo "被占用的pid是:`cat ${pid_file}`"       
        kill `cat ${pid_file}`
        echo "服务被占用,已删掉"
else
        echo "服务没有被占用"
        continue
fi
 
nginx=/usr/local/nginx/sbin/nginx
#开始启动nginx
read -p "请输入你接下来要做的操作:" action
check(){
        netstat -anptu | grep nginx
        if [ $? -eq 0 ];then
                continue
        fi
}
case $action in
        start)
                netstat -anptu | grep nginx
                if [ $? -eq 0 ]; then
                        continue
                else
                        $nginx
                fi
        ;;
        stop)
                netstat -anptu | grep nginx
                if [ $? -eq 0 ]; then
                        echo "nginx-server is already running  nginx-server begin stop"
                        $nginx -s stop
                else
                        echo "nginx-server is not start"
                fi
        ;;
        reload)
                netstat -anptu | grep nginx
                if [ $? -eq 0 ]; then
                        echo "nginx-server is already running  nginx-server begin reload"
                        $nginx -s reload
                else
                        echo "nginx-server is not running now begin start nginx-server"
                        $nginx
                        $nginx -s reload
                fi
        ;;
        statue)
                check
        ;;
        *)
                echo "please enter{start|stop|reload|statue}"
        ;;
esac
ip=`/sbin/ifconfig -a|awk '{print $2}'|sed -n '2p'`
code=`curl -I -m 10 -o /dev/null -s -w %{http_code} http://${ip}`
if [ $code -eq 200 ]; then
        echo "nginx-server is ok"
else
        echo "nginx-server is not ok"
fi

shell脚本一键部署nginx的更多相关文章

  1. Shell脚本一键部署——源码编译安装MySQL及自动补全工具

    Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者 ...

  2. shell脚本一键安装nginx

    依赖包安装包放在一起, 直接执行这个脚本就行. #!/bin/bash #--------------------------------------------------------------- ...

  3. shell脚本一键部署——Redis(直接复制执行)亲测100% 有效

    首先所需软件包拖进目录,然后编辑一个脚本,复制一下脚本,source执行一下即可 #!/bin/bash echo -e "\033[31m =====正在验证当前为仅主机还是NAT模式== ...

  4. shell脚本一键部署lvs+keepalived

    环境 两个调度器dr1.dr2,两台真实机rs1.rs2.两台真实机安装httpd,并编辑主页内容用于验证 vip="192.168.132.250"dr1="192.1 ...

  5. Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx

    第一步,安装Tomcat 系统环境:Centos7 第1步:下载tomcat安装包 tomcat官网:https://tomcat.apache.org/ 第2步:安装包上传至linux中 第3步:下 ...

  6. 一键部署nginx 服务

    一键部署nginx服务 老样子安装包都拖到opt里! 脚本如下 source 执行! #!/bin/bash #======编译安装nginx服务====== #安装所需开发包和编译环境.编译器 yu ...

  7. Centos 6.4上面用Shell脚本一键安装vsftpd

    Centos 6.4上面用Shell脚本一键安装vsftpd install.sh #!/bin/bash if [ `uname -m` == "x86_64" ];then m ...

  8. Centos 6.4上面用Shell脚本一键安装mysql 5.6.15

    Centos 6.4上面用Shell脚本一键安装mysql 5.6.15  #!/bin/bash if [ `uname -m` == "x86_64" ];then machi ...

  9. shell脚本一键同步集群时间

    shell脚本一键同步集群时间 弋嘤捕大 椿澄辄 ψ壤 茇徜燕 ㄢ交涔沔 阚龇棚绍 テ趼蜱棣 灵打了个寒颤也没有去甩脱愣是拖着 喇吉辔 秋北酏崖 琮淄脸酷 茇呶剑 莲夤罱 陕遇骸淫  ...

随机推荐

  1. buuctf@warmup_csaw_2016

    from pwn import * io=remote('node3.buuoj.cn',27774) io.recvuntil('WOW:') addr=(io.recvuntil('\n')[:- ...

  2. [CF1105E] Helping Hiaset

    问题描述 你在某社交网站上面注册了一个新账号,这个账号有\(n(n\leq 10^5)\)次记录.要么就是你更改过一次ID,要么就是一个ID为\(s(|s|\leq 40)\)的朋友访问过你的空间. ...

  3. 【leetcode】1272. Remove Interval

    题目如下: Given a sorted list of disjoint intervals, each interval intervals[i] = [a, b] represents the ...

  4. 并行计算基础(1)(GPU架构介绍)

    一.常用术语 Task:任务.可以完整得到结果的一个程序,一个程序段或若干个程序段.例如搬砖. Parallel Task:并行任务.可以并行计算的任务.多个人搬砖. Serial Execution ...

  5. QT5线程关闭

    QT5线程关闭 QThread析构函数的说明:请注意,删除一个QThread对象不会停止它管理的线程的执行. 删除正在运行的QThread(即isFinished()返回false)将导致程序崩溃. ...

  6. POJ 1430 Binary Stirling Numbers (第二类斯特林数、组合计数)

    题目链接 http://poj.org/problem?id=1430 题解 qaq写了道水题-- 在模\(2\)意义下重写一下第二类Stirling数的递推式: \[S(n,m)=S(n-1,m-1 ...

  7. [LOJ3106][TJOI2019]唱、跳、rap和篮球:DP+生成函数+NTT+容斥原理

    分析 令\(f(i)\)表示共\(i\)组同学讨论cxk的位置的方案数(不考虑其他位置上的人的爱好),这个数组可以很容易地通过依次考虑每个位置是否是四个人中最后一个人的位置来递推求解,时间复杂度\(O ...

  8. python学习之路(18)

    返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: >>> def a(* ...

  9. C++入门经典-例2.11-流输出小数控制

    1:代码如下: // 2.11.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...

  10. 套接字之msghdr结构

    用户端在使用sendmsg/recvmsg发送或者接收数据时,会使用msghdr来构造消息,其对应的内核结构为user_msghdr:其中msg_iov向量指向了多个数据区,msg_iovlen标识了 ...