Centos7nginx自动化安装脚本

Centos7nginx自动化安装脚本

脚本功能介绍

  该脚本功能为自动化安装nginx,并且使nginx支持ssl协议(就是可以反向代理到https开头网站)以及systemctl命令来进行调用

使用注意事项

  使用该脚本请确保自己本机的网络畅通yum源没有问题
  推荐自己先去http://nginx.org/en/download.html网站上下载nginx的tar包,不下也没关系,脚本里写了去网站上下载的功能(下到一半卡住概不负责),接下来上代码。

代码

#!/bin/bash
#安装nginx,并使其支持https与systemctl命令的调用
#请在网络没问题与yum源正常的情况下使用该脚本,不然会出现问题

#安装相关依赖
yum -y install prce-devel zlib-devel gcc openssl openssl-devel wget
if [ $? -eq 0 ];then
   echo "----- 成功安装相关依赖------"
else
   echo "----- 安装相关依赖失败,脚本退出 ------"
   exit 1
fi

#下载nginx并解压
if [ -f "/root/nginx-1.18.0.tar.gz" ];then
   tar -zxvf nginx-1.18.0.tar.gz
   echo "----- nginx压缩包已存在并成功解压 ------"
else
   wget http://nginx.org/download/nginx-1.18.0.tar.gz
   tar -zxvf nginx-1.18.0.tar.gz
   echo "----- nginx压缩包下载成功并正确解压 ------"
fi

#进行nginx的安装
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make && make install

#使nginx支持systemctl命令来进行启动
echo "[Unit]
Description=nginx 
After=network.target 
 
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true 
 
[Install] 
WantedBy=multi-user.target" > /lib/systemd/system/nginx.service

#检查nginx.service文件是否存在
if [ -f "/lib/systemd/system/nginx.service" ];then
  echo "----- nginx.service存在,已成功写入信息 -----"
else
  echo "----- nginx.service不存在,支持systemctl失败 ------"
  exit 1
fi

后记

  写这个脚本的原因是因为自己在尝试反代https网站的时候出现问题,百度后解决问题还需要重新进行编译与覆盖,nginx的安装还需要很多的依赖,所以就写个自动化脚本自己解决了。
并且感觉每次nginx的启动都要cd到目录下,比较麻烦,就让他直接支持常用的systemctl命令了。
  本人接触linux和shell脚本并没有多久,如果有更好的意见欢迎大佬在评论区提出
  作者:鱼王
  代码作者:鱼王、落霞

猜你喜欢

转载自blog.csdn.net/FishKingQuin/article/details/115301254
今日推荐