nginx自动化脚本安装

#!/bin/bash
#开始NGINX编译前的环境准备工作,请等候

yum install openssl openssl-devel pcre pcre-devel zlib zlib-devel -q -y
yum install -y -q autoconf automake apr  apr-devel  apr-util apr-util-devel \
                 bison  bzip2-devel cpp fontconfig-devel freetype-devel  gcc gcc-c++  compat-dapl \
                 compat-db-headers  compat-db47   compat-gcc-44 compat-gcc-44-c++  compat-glibc  \
                 compat-glibc-headers compat-libcap1 compat-libf2c-34  compat-libgfortran-41 \
                 compat-libtiff3 compat-openldap ncurses-deveal wget met-tools  && echo $?
useradd -M -s /sbin/nologin nginx
wget http://nginx.org/download/nginx-1.9.0.tar.gz
echo "============================================================================="
echo "如果提前下载了NGINX的安装包,请将上面的下载注释"
tar zxf nginx-1.9.0.tar.gz -C /usr/local/src/
cd /usr/local/src/nginx-1.9.0/
echo $PWD
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx \
--without-http_memcached_module \
--with-http_gzip_static_module \
--with-http_dav_module \
--with-threads \
--with-http_ssl_module \
--with-http_stub_status_module --with-stream && make 2>&1 | tee /root/nginx.log && make install
 
echo "编译完成,日志记录在/root/nginx.log内,如果出错,请查找原因,下面开始启动NGINX"
ln -s /usr/local/nginx/sbin/nginx /usr/bin/
nginx -t -c /usr/local/nginx/conf/nginx.conf
nginx && nginx -s reload
#生成启动脚本,启动方式为service nginx start|restart|stop|status
echo "#!/bin/bash
# nginx - this script starts and stops the nginx daemon
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ \"\$NETWORKING\" = \"no\" ] && exit 0
nginx=\"/usr/local/nginx/sbin/nginx\"
prog=\$(basename \$nginx)
NGINX_CONF_FILE=\"/usr/local/nginx/conf/nginx.conf\"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=\`\$nginx -V 2>&1 | grep \"configure arguments:\" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -\`
        if [ -z \"\`grep \$user /etc/passwd\`\" ]; then
                useradd -M -s /bin/nologin \$user
        fi
options=\`\$nginx -V 2>&1 | grep 'configure arguments:'\`
for opt in \$options; do
        if [ \`echo \$opt | grep '.*-temp-path'\` ]; then
                value=\`echo \$opt | cut -d \"=\" -f 2\`
                if [ ! -d \"\$value\" ]; then
                        # echo \"creating\" \$value
                        mkdir -p \$value && chown -R \$user \$value
                fi
        fi
done
}
start() {
[ -x \$nginx ] || exit 5
[ -f \$NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n \$\"Starting \$prog: \"
daemon \$nginx -c \$NGINX_CONF_FILE
retval=\$?
echo
[ \$retval -eq 0 ] && touch \$lockfile
return \$retval
}
stop() {
echo -n \$\"Stopping \$prog: \"
killproc \$prog -QUIT
retval=\$?
echo
[ \$retval -eq 0 ] && rm -f \$lockfile
return \$retval
}
restart() {
#configtest || return \$?
stop
sleep 1
start
}
reload() {
#configtest || return \$?
echo -n \$\"Reloading \$prog: \"
killproc \$nginx -HUP
RETVAL=\$?
echo
}
force_reload() {
restart
}
configtest() {
\$nginx -t -c \$NGINX_CONF_FILE
}
rh_status() {
status \$prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case \"\$1\" in
start)
        rh_status_q && exit 0
        \$1
        ;;
stop)
        rh_status_q || exit 0
        \$1
        ;;
restart|configtest)
\$1
;;
reload)
        rh_status_q || exit 7
        \$1
        ;;
force-reload)
        force_reload
        ;;
status)
        rh_status
        ;;
condrestart|try-restart)
        rh_status_q || exit 0
        ;;
*)
echo \$\"Usage: \$0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}\"
exit 2
esac
">/etc/init.d/nginx
chmod +x /etc/init.d/nginx
echo "启动方式为service nginx start|restart|stop|status,热重启方式为: nginx -s reload"
chkconfig --add nginx && chkconfig nginx on && service nginx restart 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值