首页 > 系统相关 >部署Nginx1.23脚本

部署Nginx1.23脚本

时间:2023-10-14 17:06:24浏览次数:44  
标签:脚本 Nginx1.23 ok 部署 sudo echo nginx pkg bin

#!/bin/bash


ck_ok()

{

        if [ $? -ne 0 ]

        then

                echo "$1 error."

                exit 1

        fi

}



download_ng()

{

    cd  /usr/local/src

    if [ -f nginx-1.23.0.tar.gz ]

    then

        echo "当前目录已经存在nginx-1.23.0.tar.gz"

        echo "检测md5"

        ng_md5=`md5sum nginx-1.23.0.tar.gz|awk '{print $1}'`

        if [ ${ng_md5} == 'e8768e388f26fb3d56a3c88055345219' ]

        then

            return 0

        else

            sudo /bin/mv nginx-1.23.0.tar.gz nginx-1.23.0.tar.gz.old

        fi

    fi


    sudo curl -O http://nginx.org/download/nginx-1.23.0.tar.gz

    ck_ok "下载Nginx"

}


install_ng()

{

    cd /usr/local/src

    echo "解压Nginx"

    sudo tar zxf nginx-1.23.0.tar.gz

    ck_ok "解压Nginx"

    cd nginx-1.23.0


    echo "安装依赖"

    if which yum >/dev/null 2>&1

    then

        ## RHEL/Rocky

        for pkg in gcc make pcre-devel zlib-devel openssl-devel

        do

            if ! rpm -q $pkg >/dev/null 2>&1

            then

                sudo yum install -y $pkg

                ck_ok "yum 安装$pkg"

            else

                echo "$pkg已经安装"

            fi

        done

    fi


    if which apt >/dev/null 2>&1

    then

        ##ubuntu

        for pkg in make libpcre++-dev  libssl-dev  zlib1g-dev

        do

            if ! dpkg -l $pkg >/dev/null 2>&1

            then

                sudo apt install -y $pkg

                ck_ok "apt 安装$pkg"

            else

                echo "$pkg已经安装"

            fi

        done

    fi


    echo "configure Nginx"

    sudo ./configure --prefix=/usr/local/nginx  --with-http_ssl_module

    ck_ok "Configure Nginx"


    echo "编译和安装"

    sudo make && sudo make install

    ck_ok "编译和安装"


    echo "编辑systemd服务管理脚本"


    cat > /tmp/nginx.service <<EOF

[Unit]

Description=nginx - high performance web server

Documentation=http://nginx.org/en/docs/

After=network-online.target remote-fs.target nss-lookup.target

Wants=network-online.target


[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

ExecReload=/bin/sh -c "/bin/kill -s HUP \$(/bin/cat /usr/local/nginx/logs/nginx.pid)"

ExecStop=/bin/sh -c "/bin/kill -s TERM \$(/bin/cat /usr/local/nginx/logs/nginx.pid)"



[Install]

WantedBy=multi-user.target

EOF


    sudo /bin/mv /tmp/nginx.service /lib/systemd/system/nginx.service

    ck_ok "编辑nginx.service"


    echo "加载服务"

    sudo systemctl unmask nginx.service

    sudo  systemctl daemon-reload

    sudo systemctl enable nginx

    echo "启动Nginx"

    sudo systemctl start nginx

    ck_ok "启动Nginx"

}


download_ng

install_ng

标签:脚本,Nginx1.23,ok,部署,sudo,echo,nginx,pkg,bin
From: https://blog.51cto.com/u_15288767/7862353

相关文章

  • 基于微信小程序的明星应援小程序设计与实现(源码+lw+部署文档+讲解等)
    (文章目录)前言:heartpulse:博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌:heartpulse:......
  • gitlab部署以及中文配置
    1、gitlab软件下载地址官方源:https://packages.gitlab.com/gitlab/gitlab-ce/清华源:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/注意:ce为社区版,ee为企业版2、安装依赖包yuminstall-ycurlpolicycoreutils-pythonopenssh-server3、安装gitlabcurl-shtt......
  • 创建用户密码的脚本
       ......
  • Linux开发环境中使用shell/python脚本快速自动打包并查看apk文件
    最近工作中突然遇到一个很烦人的问题,事情的起因是这样的.我参与开发/维护着大概5个项目,负责服务端后台的同事经常在自己的本地电脑启着本地服务测试一些东西,而他们的本地局域网IP是经常变动的,那么问题来了,只要他们的IP地址变动了就会过来找我针对某个局域网IP地址为某个......
  • GPU实验室-在阿里云云上部署ChatGLM2-6B大模型
    实验室地址:https://developer.aliyun.com/adc/scenario/f3dc63dc55a543c3884b8dbd292adcd5一、先买机器并开通对应安全组8501端口规格族:GPU计算型gn6i实例规格:ecs.gn6i-c4g1.xlarge安全组新增规则入方向端口范围:8501/8501授权对象:0.0.0.0/0二、最好是安装系统的时候把安装nvidi......
  • Loadrunner12 在谷歌浏览器录制https协议的脚本时,提示不是私密链接-解决办法
    在谷歌浏览器下,录制https协议网址的脚本时,会出现如下提示:   接下来,教大家一招黑操作: 1、鼠标点击屏幕,聚焦在当前页面2、输入thisisunsafe,点击回车,奇迹的事情发生了,可以打开https协议的网页正常录制了!!!   3、接下来就根据你的测试需求,来进行操作。(只要提示不是私密......
  • 资源调度 —— StatefulSet(针对部署的有状态应用)
    三、StatefulSet(针对部署的有状态应用)有状态很依赖本地文件、网络资源等。不像无状态应用想扩容就扩容。一)功能1、创建2、扩容缩容3、镜像更新RollingUpdate4、灰度发布OnDelete5、删除6、删除pvc二)配置文件---apiVersion:v1kind:Servicemetadata:name:ng......
  • 一些shell脚本
    1.判断目录是否为空DIRECTORY=$1#在此加上是不是目录的判断。if["ls-A$DIRECTORY"=""];thenecho"$DIRECTORY目录是空的"elseecho"$DIRECTORY目录非空"fi2.判断文件夹是否存在if[-d"/data/"];thenecho"文件夹存在"elseech......
  • 前后端部署 vercel
    vercel是国外一个部署平台 用的时候可以选择在本地安装一个客户端部署数据或者使用githubgitlab等仓库进行部署部署的过程主要是各种命令和路径要选择好,但是我在部署springboot的时候命令出错了mvncleanpackage失败......
  • Linux脚本内开异步进程和终端开异步进程区别
    sleep.sh内容sleep1000&echo$!脚本内开异步进程是1号进程的子进程终端开异步进程是当前bash进程的子进程在关闭终端后该异步进程会停止停止终端时想要继续执行,使用nohupsleep1000&,刚开始是终端bash进程的子进程,在终端停止后会变成1号进程的子进程。......