shell 脚本实现源码安装Nginx

#!/bin/bash

#清理环境

nginx_yuanma(){

# set -e

systemctl stop  nginx

userdel -r nginx

#删除之前nginx的环境

rm -rf /etc/my* &&\

rm -rf /usr/sbin/nginx &&\

rm -rf /usr/local/nginx &&\

rm -rf /etc/nginx/nginx.conf

if [ $? -eq 0 ];then

echo -e "\033[31m 清理环境成功 \033[0m"

else

echo -e "\033[31m 清理环境失败 \033[0m"

break

fi

systemctl stop firewalld && systemctl stop firewalld && setenforce 0

#安装编译 Nginx 依赖包

yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel perl-devel perl-ExtUtils-Embed gd-devel >>/dev/null

#官网下载 Nginx 安装包

ls /root | egrep "^nginx-1.22.1.tar.gz$"

if [ $? -eq 0 ];then

echo -e "\033[31m 接下来进入正式配置,请耐心等待 \033[0m"

else

echo -e "\033[31m 请准备正确安装包nginx-1.22.1.tar.gz  \033[0m"

curl -o https://nginx.org/download/nginx-1.22.1.tar.gz /root

if [ $? -eq 0 ];then

    echo "nginx下载成功"

else

    echo "nginx下载失败"

fi

break

fi

#创建 Nginx 运行用户

useradd -s /sbin/nologin -M nginx

cd /root

tar xzf nginx-1.22.1.tar.gz -C /usr/local >>/dev/null

#解压配置  Nginx 编译

cd /usr/local/nginx-1.22.1/

./configure \

--user=nginx \

--group=nginx \

--prefix=/usr/local/nginx \

--conf-path=/etc/nginx/nginx.conf \

--sbin-path=/usr/sbin/nginx \

--error-log-path=/var/log/nginx/nginx_error.log \

--http-log-path=/var/log/nginx/nginx_access.log \

--with-http_stub_status_module \

--pid-path=/usr/local/nginx/run/nginx.pid >>/dev/null

#Nginx 编译安装

make -j 3 && make install

if [ $? -eq 0 ];then

echo -e "\033[31m 编译安装成功 \033[0m"

else

echo -e "\033[31m 编译安装失败 \033[0m"

break

fi

#测试 Nginx 是否安装成功

 nginx -V

if [ $? -eq 0 ];then

echo -e "\033[31m 安装成功 \033[0m"

else

echo -e "\033[31m 安装失败 \033[0m"

break

fi

#启动 Nginx 服务

 /usr/sbin/nginx

 #验证 Nginx 服务是否启动成功

ss -lntp | grep nginx >>/dev/null

if [ $? -eq 0 ];then

echo -e "\033[31m 检测启动成功 \033[0m"

else

echo -e "\033[31m 检测启动失败 \033[0m"

break

fi

#系统添加 Nginx 服务

cat > /lib/systemd/system/nginx.service <<EOF

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

ExecStart=/usr/sbin/nginx

ExecReload=/usr/sbin/nginx -s reload

ExecStop=/usr/sbin/nginx -s quit

PrivateTmp=true

[Install]

WantedBy=multi-user.target

EOF

#以 systemctl 方式启动 Nginx

 pkill nginx

 smy

 systemctl start nginx

 ps -ef | grep nginx >>/dev/null

ss -ntlp | grep nginx >>/dev/null

 if [ $? -eq 0 ];then

echo -e "\033[32m 启动成功 \033[0m"

else

echo -e "\033[32m 启动失败 \033[0m"

break

fi

#配置 Nginx 服务自动启动

systemctl enable nginx

if [ $? -eq 0 ];then

echo -e "\033[32m 服务自动启动成功 \033[0m"

else

echo -e "\033[32m 服务自动启动失败 \033[0m"

break

fi

}

nginx_yuanma

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值