#!/bin/bash
#判断是否是roo用户
if [ $(id -u) != "0" ]; then
echo "Error:You must be root to run this script"
fi
#每次使用只需修改自定义内容即可
#自定义用户名和组
User="nginx"
Group="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="/var/tmp/nginx"
#安装依赖关系
yum group install "Development Tools" "Server Platform Deveopment"
yum install -y curl openssl-devel pcre-devel
#判断nginx组是否存在
egrep "^$group" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
groupadd $group
else
echo " The $Group user group already exists."
fi
#判断nginx用户是否存在
egrep "^$user" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
useradd -g $group $user
else
echo " The $User user already exists."
fi
#创建/var/tmp/nginx目录
#mkdir /var/tmp/nginx
if [ -e $dir ]
then
echo " $DIR Directory Already Exists."
else
mkdir /var/tmp/nginx
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
#开机启动
chkconfig --add nginx
chkconfig nginx on
chkconfig --list | grep nginx
#启动服务
nginx
ss -tnlp | grep nginx
不足之处:没有启动文件,我是直接加了个环境变量用nginx回车启动的
看到此篇文章的大佬们,有启动文件的希望把启动文件加进来,希望给补充下,
有错误什么的,或者有更好的建议请留言
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。