GNU/Linux >> Linux Esercitazione >  >> Cent OS

Accelera NGINX usando ngx_pagespeed su un VPS CentOS 6

Il seguente articolo ti guiderà attraverso i passaggi di compilazione e installazione di Nginx e ngx_pagespeed modulo sul tuo VPS Linux

Usando ngx_pagespeed puoi velocizzare notevolmente i tuoi siti web senza dover ottimizzare o modificare le tue applicazioni web.

Com'è possibile?

ngx_pagespeed viene eseguito come modulo all'interno di Nginx e riscrive le tue pagine web per renderle più veloci. La riscrittura include la minimazione di CSS e JS (JavaScript) , allungamento della durata della cache , compressione delle immagini e molte altre best practice per le prestazioni web.

AGGIORNAMENTO DEL SISTEMA

Prima di procedere oltre, assicurati di essere in una sessione dello schermo e controlla se il tuo CentOS 6 VPS è completamente aggiornato eseguendo:

## screen -U -S pagespeed-screen
## yum update

INSTALLA DIPENDENZE

Dato che compileremo Nginx e ngx_pagespeed dal sorgente, dobbiamo installare alcuni pacchetti richiesti sul sistema usando yum

## yum install gcc-c++ pcre-devel pcre-devel zlib-devel make unzip openssl-devel

SCARICA NGX_PAGESPEED E PSOL

Procedi con il download di ngx_pagespeed e PSOL (Librerie di ottimizzazione della velocità di pagina) a /opt/nginx/modules

## mkdir -p /opt/nginx/modules
## cd /opt/nginx/modules
## wget https://github.com/pagespeed/ngx_pagespeed/archive/release-1.7.30.3-beta.zip
## unzip release-1.7.30.3-beta.zip
## cd ngx_pagespeed-release-1.7.30.3-beta/
## wget https://dl.google.com/dl/page-speed/psol/1.7.30.3.tar.gz
## tar -xzf 1.7.30.3.tar.gz

SCARICA E COMPILA NGINX

Quindi, scarica NGINX e costruiscilo con ngx_pagespeed supporto

## cd /opt/nginx/
## wget http://nginx.org/download/nginx-1.4.5.tar.gz
## tar -zxf nginx-1.4.5.tar.gz
## cd nginx-1.4.5/
## ./configure --add-module=/opt/nginx/modules/ngx_pagespeed-release-1.7.30.3-beta \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/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=/run/nginx.pid \
--lock-path=/run/lock/subsys/nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module \
--user=nginx \
--group=nginx

## make
## make install

una volta che NGINX è stato compilato e installato sul sistema, puoi verificare che abbia il supporto per ngx_pagespeed usando il seguente comando

## nginx -V

nginx version: nginx/1.4.5
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
TLS SNI support enabled
configure arguments: --add-module=/opt/nginx/modules/ngx_pagespeed-release-1.7.30.3-beta --prefix=/usr/local/nginx --sbin-path=/usr/local/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=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --user=nginx --group=nginx

ABILITA IL MODULO

abilita ngx_pagespeed modulo aggiungendo quanto segue ai blocchi del tuo server NGINX

...
# enable ngx_pagespeed
pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
...

IMPOSTA SCRIPT INIT E AVVIA NGINX

crea uno script di inizializzazione per nginx in /etc/init.d/nginx e aggiungi quanto segue

## vim /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:      /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" ] && exit 0

nginx="/usr/local/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/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' -`
   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

crea utente per nginx e rendi eseguibile lo script init eseguendo

## useradd -r nginx
## chmod  +x /etc/init.d/nginx

imposta la directory pagespeed filecachepath

## mkdir /var/ngx_pagespeed_cache
## chown nginx: /var/ngx_pagespeed_cache

avvia e aggiungi nginx all'avvio del tuo sistema

## nginx -t
## service nginx restart
## chkconfig nginx on

PROVA L'IMPOSTAZIONE

puoi semplicemente usare curl e controlla se le intestazioni contengono X-Page-Speed

## curl -s -I http://localhost | grep ^X-Page-Speed
X-Page-Speed: 1.7.30.3-3721

Inoltre, puoi saperne di più su come ottimizzare completamente ngx_pagespeed su https://developers.google.com/speed/pagespeed/module

Ovviamente non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting Web CentOS ottimizzato, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di installarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta. Se stai cercando più opzioni, puoi anche controllare:Come velocizzare il tuo sito Web Nginx.

PS. Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.


Cent OS
  1. Esegui Joomla con Nginx su un Centos VPS

  2. Come installare WordPress Multisite su Centos VPS con Nginx

  3. Installa Odoo 8 su un VPS CentOS 7

  4. Installa FluxBB su un VPS CentOS 7 con Nginx e PHP-FPM

  5. Installa WordPress utilizzando SVN su un VPS CentOS 7

Installa Nginx con ngx_pagespeed su CentOS 7

Come monitorare Nginx utilizzando Netdata su CentOS 7

Utilizzo di ngx_pagespeed con nginx su Debian Jessie/testing

Come installare Nginx usando il comando Yum su CentOS

Come installare Nginx con ngx_pagespeed su CentOS

Installa Octopress su un VPS CentOS 6