zoukankan      html  css  js  c++  java
  • Nginx编译安装脚本

    Nginx 快速安装脚本

    一、首次安装

    #!/bin/sh
    # Author: Alusss
    ###
    
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.nginx-rtmp -f
    mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.rtmp -f
    mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.rtmp -f
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    yum clean all
    yum makecache
    yum install -yq tar wget gcc gcc-c++ make automake autoconf pcre pcre-devel zlib zlib-devel openssl openssl-devel 
    
    #设置nginx版本,rtmp版本
    nginx_ver="1.18.0"
    #rtmp_ver="1.2.1"
    dir="/usr/local/nginx"
    temp="/root/nginx-rtmp"
    user="root"
    group="root"
    args="--user=$user --group=$group --prefix=$dir --conf-path=$dir/conf/nginx.conf --pid-path=$dir/conf/nginx.pid --lock-path=$dir/lock/nginx.lock --error-log-path=$dir/log/error.log --http-log-path=$dir/log/access.log --with-http_gzip_static_module --http-client-body-temp-path=$dir/temp/client --http-proxy-temp-path=$dir/temp/proxy --http-fastcgi-temp-path=$dir/temp/fastcgi --http-uwsgi-temp-path=$dir/temp/uwsgi --http-scgi-temp-path=$dir/temp/scgi --with-http_stub_status_module --with-http_ssl_module"
    
    mkdir $temp
    cd $temp
    curl -o "nginx-$nginx_ver.tar.gz" http://nginx.org/download/"nginx-$nginx_ver.tar.gz"
    tar -xzf "nginx-$nginx_ver.tar.gz"
    rm -f "nginx-$nginx_ver.tar.gz"
    #curl -o "nginx-rtmp-module-$rtmp_ver.tar.gz" https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v"$rtmp_ver"
    #tar xzf "nginx-rtmp-module-$rtmp_ver.tar.gz"
    #rm -f "nginx-rtmp-module-$rtmp_ver.tar.gz"
    
    useradd -s /sbin/nologin $user -M
    cd nginx-$nginx_ver
    ./configure $args
    make -j8
    make install
    
    ###添加到服务
    cat >/usr/lib/systemd/system/nginx.service<<EOF
    
    [Unit]
    Description=nginx - The High-performance HTTP Server  
    After=network.target remote-fs.target nss-lookup.target  
     
    [Service]
    Type=forking    
    PIDFile=$dir/conf/nginx.pid   
    ExecStartPre=$dir/sbin/nginx -t -c $dir/conf/nginx.conf   
    ExecStart=$dir/sbin/nginx -c $dir/conf/nginx.conf   
    ExecReload=$dir/sbin/nginx -s reload   
    ExecStop=$dir/sbin/nginx -s quit
    PrivateTmp=true    
    
    [Install]
    WantedBy=multi-user.target    
    EOF
    
    chmod +x /usr/lib/systemd/system/nginx.service
    systemctl daemon-reload
    mkdir -p $dir/temp/client
    systemctl start nginx.service
    systemctl enable nginx.service
    systemctl status nginx.service
    

    二、增加模块

    #!/bin/sh
    # Author: Alusss
    # 脚本放到nginx源码包所在的同级目录下
    ###
    
    /usr/local/nginx/sbin/nginx -V > ngx_args.txt
    cat ngx_args.txt | tr " " '
    ' | sed -n '/--/p' | tr '
    ' " " | tee ngx_args.txt
    #ngx_args configure参数,可在后面添加新的参数
    ngx_args='"cat ngx_args.txt"'
    nginx_ver="1.16.1"
    dir="/usr/local/nginx"
    ts=$(date +%s)
    
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.nginx-rtmp -f
    mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.rtmp -f
    mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.rtmp -f
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    yum clean all
    yum makecache
    yum install -yq tar wget gcc gcc-c++ make automake autoconf pcre pcre-devel zlib zlib-devel openssl openssl-devel 
    
    cd nginx-$nginx_ver
    ./configure $args
    make -j8
    mv $dir/sbin/nginx $dir/sbin/nginx.$ts
    mv objs/nginx $dir/sbin/nginx -f
    
    有趣的事,有趣的人,有趣的灵魂!
  • 相关阅读:
    texarea动态改变监听
    输入配置
    linux 上安装redis 解压之后使用make命令报错
    sql语句能查询出 放在web程序查询不出
    Eclipse 使用git pull 代码时发生冲突的解决办法
    eclipse git 解决冲突
    微信小程序获取openid
    mybatis 一对多 一对一 xml配置
    Eclipse 中撤消git push提交
    idea 开发中遇到的问题
  • 原文地址:https://www.cnblogs.com/alusss/p/12181214.html
Copyright © 2011-2022 走看看