当前位置:Gxlcms > PHP教程 > Nginx编译,添加未编译安装模块ngx_cache_purge

Nginx编译,添加未编译安装模块ngx_cache_purge

时间:2021-07-01 10:21:17 帮助过:40人阅读

Nginx 编译,添加未编译安装模块ngx_cache_purge


  1. 官网下载nginx及第三方ngx_cache_purge 模块
    http://wiki.nginx.org/Install
    http://labs.frickle.com/nginx_ngx_cache_purge/
  2. 编译与安装
Blockquote
./configure \
–prefix=/usr/local/nginx-1.8.0 \
–sbin-path=/usr/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/ \
–add-module=/apps/svr/ngx_cache_purge-2.3
make && make install

3.为init.d 提供脚本

#!/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:      /etc/sysconfig/nginx # pidfile:     /var/run/nginx.pid # Source function library. 
. /etc/rc.d/init.d/functions 
# Source networking configuration. 
. /etc/sysconfig/network 
# Check that networking is up. 
[ "$NETWORKING" = "no" ] && exit0nginx="/usr/sbin/nginx"prog=$(basename $nginx) 
NGINX_C>"/etc/nginx/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' -` 
   opti>$nginx -V 2>&1 | grep 'configure arguments:'` 
   for opt in$options; doif [ `echo$opt | grep '.*-temp-path'` ]; then           value=`echo$opt | cut -d"="-f2` 
           if [ ! -d"$value" ]; then# echo "creating" $value 
               mkdir -p $value && chown -R $user$valuefifidone} 
start() { 
    [ -x $nginx ] || exit5    [ -f$NGINX_CONF_FILE ] || exit6    make_dirsecho -n $"Starting $prog: "    daemon $nginx -c $NGINX_CONF_FILE    retval=$? 
    echo    [ $retval-eq0 ] && touch $lockfilereturn$retval} 
stop() { 
    echo -n $"Stopping $prog: "    killproc $prog -QUIT 
    retval=$? 
    echo    [ $retval-eq0 ] && rm -f$lockfilereturn$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 && exit0$1        ;; 
    stop) 
        rh_status_q || exit0$1        ;; 
    restart|configtest) 
        $1        ;; 
    reload) 
        rh_status_q || exit7$1        ;; 
    force-reload) 
        force_reload 
        ;; 
    status) 
        rh_status 
        ;; 
    condrestart|try-restart) 
        rh_status_q || exit0            ;; 
    *) 
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"exit2esac

4.为脚本赋予权限:

chmod +x /etc/init.d/nginx

5.开机启动

chkconfig --add nginx
chkconfig nginx on
chkconfig nginx --list 

6.配置nginx cache 和ngx_cache_purge,如果遇到404,注意proxy_cache_key 和proxy_cache_purge 的配置

    proxy_cache_path /data/nginx/cache levels=1:2 keys_z inactive=15d max_size=100g;    proxy_cache_key  "$request_uri";    proxy_cache cache_one;    proxy_cache_valid 200 15d;    expires 15d;
=============================================    #仅允许本地网络清理缓存        location ~ /purge(/.*) {        allow   106.2.214.50;        allow   127.0.0.1;        allow   192.168.5.0/24;        deny    all;                proxy_cache_purge   cache_one   $1$is_args$args;        }

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了Nginx 编译,添加未编译安装模块ngx_cache_purge,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行