nginx一键安装bash脚本

今天抽时间写了个自动安装nginx的脚本,以后方面使用

#!/bin/bash
#Auto install nginx for centos 6.X
#author merci

#定义版本变量
nginx_version='1.14.0'
#pcre版本变量
pcre_version='8.42'
#nginx安装目录
nginx_install_dir='/usr/local/nginx'
#当前目录
cur_dir=`pwd`
#安装基本依赖包
yum install -y -q make wget gcc gcc-c++ curl-devel zlib-devel openssl openssl-devel pcre-devel

#下载nginx和pcre源码包
wget https://ftp.pcre.org/pub/pcre/pcre-${pcre_version}.tar.gz
wget http://mirrors.sohu.com/nginx/nginx-${nginx_version}.tar.gz

#安装pcre
tar zxvf pcre-${pcre_version}.tar.gz
cd pcre-${pcre_version}
./configure
make && make install

#安装nginx
groupadd  www
useradd -g  www www -s /sbin/nologin
cd ${cur_dir}
tar -zxvf nginx-${nginx_version}.tar.gz
cd nginx-${nginx_version}
./configure \
--prefix=/usr/local/nginx \
--without-http_memcached_module \
--user=www --group=www \
--with-http_stub_status_module \
--without-http-cache \
--with-http_ssl_module \
--with-http_realip_module \
--with-pcre=${cur_dir}/pcre-${pcre_version}
make && make install
touch /etc/rc.d/init.d/nginx
cat > /etc/rc.d/init.d/nginx << EOF
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server    
# it is v.0.0.2 version.    
# chkconfig: - 85 15    
# description: Nginx is a high-performance web and proxy server.    
#              It has a lot of features, but it's not for everyone.    
# processname: nginx    
# pidfile: /var/run/nginx.pid    
# config: ${nginx_install_dir}/conf/nginx.conf    
nginxd=${nginx_install_dir}/sbin/nginx    
nginx_config=${nginx_install_dir}/conf/nginx.conf    
nginx_pid=${nginx_install_dir}/logs/nginx.pid    
RETVAL=0    
prog="nginx"    
# Source function library.    
.  /etc/rc.d/init.d/functions    
# Source networking configuration.    
.  /etc/sysconfig/network    
# Check that networking is up.    
[ \${NETWORKING} = "no" ] && exit 0    
[ -x \$nginxd ] || exit 0    
# Start nginx daemons functions.    
start() {    
if [ -e \$nginx_pid ];then    
echo "nginx already running...."    
exit 1    
fi    
echo -n \$"Starting \$prog: "    
daemon \$nginxd -c \${nginx_config}    
RETVAL=\$?    
echo    
[ \$RETVAL = 0 ] && touch /var/lock/subsys/nginx    
return \$RETVAL    
}    
# Stop nginx daemons functions.    
stop() {    
echo -n \$"Stopping \$prog: "    
killproc \$nginxd    
RETVAL=\$?    
echo    
[ \$RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid    
}    
reload() {           
echo -n \$"Reloading $prog: "    
#kill -HUP `cat \${nginx_pid}`         
killproc \$nginxd -HUP    
RETVAL=\$?    
echo          
}    
# See how we were called.    
case "\$1" in    
start)    
start    
;;    
stop)    
stop    
;;
reload)
reload
;;
restart)
stop
start
;;  
status)
status \$prog    
RETVAL=\$? 
;;    
*) 
echo \$"Usage: \$prog {start|stop|restart|reload|status|help}"    
exit 1    
esac    
exit \$RETVAL
EOF
chmod 775  /etc/rc.d/init.d/nginx
chkconfig nginx on
service nginx start


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://sulao.cn/post/513.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。