#!/bin/bash
#判断是否是roo用户
if [ $(id -u) != "0" ]; then
echo "Error:You must be root to run this script"
fi
#每次使用只需修改自定义内容即可
#自定义用户名和组
Group_Name="nginx"
User_Name="nginx"
#自定义nginx变量
Install_Path="/usr/local/nginx"
Package_Type=".tar.gz"
Version="nginx-1.9.8"
Package=$Version$Package_Type
Setup_path="/root/"
RPM="nginx"
#自定义/var/tmp/nginx目录
DIR_File="/var/tmp/nginx"
#安装依赖关系
yum group install "Development Tools" "Server Platform Deveopment"
yum install -y curl openssl-devel pcre-devel
Group_User(){
egrep "^$Group_Name" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
echo "nginx 用户组正在添加."
groupadd $Group_Name
else
echo " The $Group_Name user group already exists."
echo "nginx 用户组已经添加."
fi
#判断nginx用户是否存在
egrep "^$User_Name" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
echo "nginx 用户正在添加."
useradd -g $Group_Name $User_Name
else
echo "nginx 用户已经添加."
echo " The $User_Name user already exists."
fi
}
Group_User
#创建/var/tmp/nginx目录
#mkdir /var/tmp/nginx
if [ -e $DIR_File ]
then
echo " $DIR_File 目录已经存在."
echo " $DIR_File Directory Already Exists."
else
echo " $DIR_File 目录正在创建."
mkdir $DIR_File
fi
#判断文件是否存在
if [ -e $Setup_path$Version$Package_Type ]
then
echo "$Package The Package exists."
else
echo "$Package The package does not exist."
fi
#判断是否用RPM方式安装
function RPM_Install(){
rpm -qa | egrep "$RPM" >>/dev/null
if [ $? -eq 0 ]
then
echo "$RPM is install Yes."
else
echo "$RPM is Not install."
fi
}
RPM_Install
#编译安装nginx
cd $Setup_path
tar -zxvf $Package
cd $Version
configure_opts=(
--prefix=$Install_Path
--sbin-path=$Install_Path/sbin/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--pid-path=/var/run/nginx/nginx.pid
--lock-path=/var/lock/nginx.lock
--user=nginx
--group=nginx
--with-http_ssl_module
--with-http_flv_module
--with-http_stub_status_module
--with-http_gzip_static_module
--http-client-body-temp-path=/var/tmp/nginx/client
--http-proxy-temp-path=/var/tmp/nginx/proxy
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi
--http-scgi-temp-path=/var/tmp/nginx/scgi
--with-pcre
)
./configure ${configure_opts[@]}
if [[ $? -eq 0 ]]
then
make && make install
else
echo "编译失败,请重新编译" && exit 1
fi
#添加Nginx命令到环境变量
cat >/etc/profile.d/nginx.sh <<EOF
export PATH=/usr/local/nginx/sbin/:$PATH
EOF
source /etc/profile
#启动服务
/usr/local/nginx/sbin/nginx
ss -tnlp | grep nginx
不足之处:没有添加启动脚本,直接用命令启动的,希望各位大佬能给加上,共享下
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。