当前位置 主页 > 服务器问题 > nginx问题汇总 >

    CentOS下编译安装nginx及配置缩略图插件的方法教程

    栏目:nginx问题汇总 时间:2019-02-26 16:29

    这篇文章主要给大家介绍了在CentOS系统下编译安装nginx及配置缩略图插件的方法教程,文中给出了详细的安装步骤,对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。

    相信大家都知道利用yum安装nginx 非常方便,但是有些插件并不会默认安装,比如 http_image_filter_module, 因此我们需要编译安装 nginx,已达到我们的目的。下面来看看详细的方法吧。

    安装依赖

    yum install -y pcre-devel libmxl2-devel libxslt-devel gd-devel

    安装 nginx

    wget http://nginx.org/download/nginx-1.9.1.tar.gztar -xzvf nginx-1.9.1.tar.gzcd nginx-1.9.1./configure\ --user=nginx\ --group=nginx\ --with-http_ssl_module\ --with-http_spdy_module\ --with-http_realip_module\ --with-http_addition_module\ --with-http_xslt_module\ --with-http_image_filter_module\ --with-http_sub_module\ --with-http_auth_request_module\ --with-http_stub_status_module\ --with-http_gzip_static_module make make install

    安装完成后,可以使用如下命令来查看 nginx 安装的模块

    [root@linux001 ~]# /usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.9.1built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013TLS SNI support enabledconfigure arguments: --user=nginx --group=nginx --with-http_ssl_module --with-http_spdy_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_sub_module --with-http_auth_request_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_image_filter_module

    增加启动脚本

    新建文件 /etc/init.d/nginx , 内容如下:

    #!/bin/sh## 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 2esac