Linux 脚本编译安装NGINX1.8.1(附启动脚本)
  ehrZuhofWJiC 2024年08月09日 50 0

                 Linux 脚本编译安装NGINX1.8.1(附启动脚本)

话不多说,直接上货:

#!/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:///download/nginx-1.8.1.tar.gz
echo "============================================================================="
echo "如果提前下载了NGINX的安装包,请将上面的下载注释"
tar zxf nginx-1.8.1.tar.gz -C /usr/local/src/
cd /usr/local/src/nginx-1.8.1/
echo $PWD
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx \
--without-http_memcached_module \
--with-http_gzip_static_module \
--with-threads \
--with-http_ssl_module \
--with-http_stub_status_module  && 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 

相信以上完成后,打开同网段内的任意一个浏览器输入这台机器的ip就可以看到nginx的首页了。

总结:上述工作做完后,请在防火墙和selinux中放行nginx或者关闭防火墙和selinux,话不多说,具体的请百度。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年08月09日 0

暂无评论

推荐阅读
  ehrZuhofWJiC   2024年08月09日   50   0   0 linuxshell运维
  ehrZuhofWJiC   2024年08月09日   50   0   0 linux服务器
  ehrZuhofWJiC   2024年08月09日   56   0   0 linux服务器
ehrZuhofWJiC