GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Beschleunigen Sie NGINX mit ngx_pagespeed auf einem CentOS 6 VPS

Der folgende Artikel führt Sie durch die Schritte zum Kompilieren und Installieren von Nginx und ngx_pagespeed Modul auf Ihrem Linux VPS

Mit ngx_pagespeed können Sie Ihre Websites erheblich beschleunigen, ohne Ihre Webanwendungen optimieren oder ändern zu müssen.

Wie ist das möglich?

ngx_pagespeed läuft als Modul innerhalb von Nginx und schreibt Ihre Webseiten neu, um sie schneller zu machen. Die Neufassung umfasst die Minimierung von CSS und JS (JavaScript) , Verlängerung der Cache-Lebensdauer , Bilder komprimieren und viele andere Best Practices für die Webleistung.

SYSTEM AKTUALISIEREN

Bevor Sie fortfahren, vergewissern Sie sich, dass Sie sich in einer Bildschirmsitzung befinden, und überprüfen Sie, ob Ihr CentOS 6 VPS vollständig auf dem neuesten Stand ist, indem Sie Folgendes ausführen:

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

ABHÄNGIGKEITEN INSTALLIEREN

Da wir Nginx und ngx_pagespeed aus dem Quellcode kompilieren werden, müssen wir einige erforderliche Pakete mit yum auf dem System installieren

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

NGX_PAGESPEED UND PSOL HERUNTERLADEN

Fahren Sie mit dem Herunterladen von ngx_pagespeed fort und PSOL (PageSpeed ​​Optimization Libraries) nach /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

NGINX HERUNTERLADEN UND KOMPILIEREN

Als nächstes laden Sie NGINX herunter und baue es mit ngx_pagespeed unterstützen

## 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

Sobald NGINX kompiliert und auf dem System installiert ist, können Sie überprüfen, ob es Unterstützung für ngx_pagespeed hat mit dem folgenden Befehl

## 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

MODUL AKTIVIEREN

aktivieren Sie ngx_pagespeed Modul, indem Sie Folgendes zu Ihren NGINX-Serverblöcken hinzufügen

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

INIT-SKRIPT EINRICHTEN UND NGINX STARTEN

Erstellen Sie ein Init-Skript für nginx in /etc/init.d/nginx und fügen Sie Folgendes hinzu

## 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

Erstellen Sie einen Benutzer für nginx und machen Sie das Init-Skript ausführbar, indem Sie

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

Richten Sie das Pagespeed-Dateicachepath-Verzeichnis ein

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

starte und füge nginx zu deinem Systemstart hinzu

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

TESTEN SIE DIE EINRICHTUNG

Sie können einfach curl verwenden und prüfen Sie, ob Header X-Page-Speed enthalten

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

Außerdem erfahren Sie unter https://developers.google.com/speed/pagespeed/module

mehr darüber, wie Sie ngx_pagespeed vollständig optimieren können

Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer optimierten CentOS-Webhosting-Dienste verwenden. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie zu installieren. Sie sind 24×7 erreichbar und kümmern sich umgehend um Ihr Anliegen. Wenn Sie nach weiteren Optionen suchen, können Sie auch nachsehen:So beschleunigen Sie Ihre Nginx-Website.

PS. Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.


Cent OS
  1. Beschleunigen Sie Ihre PHP-basierten Websites mit Zend Optimizer auf einem CentOS 6 VPS

  2. Installieren und führen Sie TiddlyWiki auf einem CentoOS 6 VPS mit Nginx aus

  3. Installieren Sie GlassFish auf einem CentOS 6 VPS

  4. Installieren Sie Octopress auf einem CentOS 6 VPS

  5. Installieren Sie WordPress mit SVN auf einem CentOS 7 VPS

Installieren Sie Nginx mit ngx_pagespeed unter CentOS 7

So überwachen Sie Nginx mit Netdata unter CentOS 7

Verwendung von ngx_pagespeed mit nginx auf Debian Jessie/testing

So installieren Sie Nginx mit dem Yum-Befehl unter CentOS

So installieren Sie Nginx mit ngx_pagespeed unter CentOS

Installieren Sie FluxBB auf einem CentOS 7 VPS mit Nginx und PHP-FPM