Nginx一键安装脚本

编辑脚本文件

#!/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

 

 

 运行脚本安装即可

./nginx.sh

 

 

### 回答1: 我可以给你提供一些有用的参考资料,来帮助你部署Nginx: 1. Nginx官方文档,可以提供有关安装和配置的步骤; 2. 在Github上有一些Nginx脚本,可以帮助你自动化部署; 3. 在StackOverflow上也有很多有关Nginx部署的问答,可以帮助你解决各种问题。 ### 回答2: Nginx一键部署脚本是一个自动化工具,用于简化Nginx服务器安装和配置过程。这个脚本可以帮助用户快速搭建一个功能强大的web服务器,提供高性能和可靠性。 使用Nginx一键部署脚本的好处有以下几点: 1. 简化安装过程:传统上,安装Nginx需要手动下载、解压、编译和配置。而使用一键部署脚本可以自动完成这些步骤,大大简化了安装过程,减少了出错的可能性。 2. 快速配置:一键部署脚本会提供一些默认的配置选项,用户只需选择一些基本配置,比如端口号、网站根目录等,就可以快速配置Nginx服务器。 3. 自动更新与管理:一键部署脚本还可以自动检测Nginx的更新,如果有新版本可用,脚本会自动下载和安装更新。此外,它还提供了管理命令,如启动、停止和重启Nginx服务器。 4. 安全性和稳定性:脚本会按照最佳实践配置Nginx,包括限制访问权限、启用SSL/TLS加密等功能,提高服务器的安全性。同时,Nginx本身就以其高性能和稳定性而闻名,使用这个脚本可以确保服务器的运行质量。 总而言之,Nginx一键部署脚本是一个方便、快捷、安全且可靠的工具,帮助用户快速搭建和管理Nginx服务器。无论是个人开发者还是企业级应用,都可以受益于这个脚本提供的便利和功能。 ### 回答3: nginx一键部署脚本是一个方便快捷地安装和配置nginx的工具。它可以帮助我们简化nginx服务器安装的流程,降低了操作难度和时间成本。 一键部署脚本通常包含了以下几个步骤: 1. 检查系统环境:脚本会自动检测操作系统的版本和架构,确保安装nginx适配当前系统环境。 2. 下载nginx安装包:脚本会自动从官方网站或指定镜像站点下载最新的nginx安装包。 3. 安装nginx脚本会解压nginx安装包并进行相应的依赖库检查和安装,保证nginx正常运行所需的环境和软件。 4. 配置nginx脚本会根据用户的需求自动创建默认配置文件,并可以根据具体情况进行修改和定制化设置。 5. 启动nginx安装完成后,脚本会自动启动nginx服务,并开启自启动功能,确保nginx在系统重启后可以自动运行。 6. 检查nginx状态:脚本会检查nginx的运行状态,并输出相关信息,以便用户确认nginx是否成功安装和启动。 通过使用nginx一键部署脚本,我们可以快速搭建一个稳定、安全的nginx服务器,为网站和应用程序提供高性能的HTTP和反向代理服务。无论是个人开发者还是企业组织,都可以受益于这样的脚本,提高系统部署的效率和质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值