NGINX mit SPDY, Google PageSpeed auf CentOS mit Plesk installieren.

Dieser Beitrag wurde 9243 mal angezeigt.

Hy Leute,ngnix

ich möchte euch heute mal schreiben, wie ihr euren CentOS, RedHat oder Fedora Server mit Nginx, dem Modul SPDY sowie mit Googles Pagespeed, zu etwas mehr Speed verhelfen könnt.

Wer kein Plesk hat, muss aber noch lange nicht auf NGINX verzichten.
Besucht einfach diese Anleitung, wenn es zum Teil der Aktivierung des Moduls geht.

Step 1

Um die aktuellste Version zu laden, geht ihr auf die Seite von Google.

Verbindet euch als Root mit eurem Server. z.b. mit Putty. Folgt der Anleitung.

In meinem Fall ist dies:

sudo yum install gcc-c++ pcre-devel zlib-devel make unzip openssl-devel
cd
NPS_VERSION=1.9.32.6
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${NPS_VERSION}-beta.zip
unzip release-${NPS_VERSION}-beta.zip
cd ngx_pagespeed-release-${NPS_VERSION}-beta/
wget https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz
tar -xzvf ${NPS_VERSION}.tar.gz  # extracts to psol/
cd
# check http://nginx.org/en/download.html for the latest version
NGINX_VERSION=1.9.4
wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
tar -xvzf nginx-${NGINX_VERSION}.tar.gz
cd nginx-${NGINX_VERSION}/

Ab jetzt kommt eine Abweichung. Da wir ja schon NGINX installiert haben, wollen wir natürlich nicht, das dieser seine Eigenschaften verliert.  Daher müssen wir NGINX fragen, welche Version mit welcher Config hinterlegt ist. Dies machen wir mit:

nginx -V

Wir erhalten nun eine Status Rückmeldung:

nginx version: nginx/1.6.0
TLS SNI support enabled
configure arguments: --prefix=/usr/share --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 --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --user=nginx --group=nginx --with-ipv6 --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_sub_module --with-http_dav_module --with-http_gzip_static_module --with-http_stub_status_module --add-module=/usr/share/passenger/ngx_http_passenger_module

 

Kopiert euch die Konfiguration Argumente.

Aktuell macht ein Plugin „passenger“ Probleme. Wenn ihr eine Fehlermeldung bekommt, entfernt dieses Modul.

--add-module=/usr/share/passenger/ngx_http_passenger_module

Nun möchten wir natürlich SPDY und Pagespeed mit installieren. Dazu hängen wir 2 weitere Werte mit an die Argumente.

--with-http_spdy_module --add-module=$HOME/ngx_pagespeed-release-${NPS_VERSION}-beta

Das ganze müsste dann so aussehen:

./configure --prefix=/usr/share --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 --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --user=nginx --group=nginx --with-ipv6 --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_sub_module --with-http_dav_module --with-http_gzip_static_module --with-http_stub_status_module  --with-http_spdy_module --add-module=$HOME/ngx_pagespeed-release-${NPS_VERSION}-beta

 

Führt das ganze aus. Es dauert einen kleine Augenblick. Anschließend kompiliert ihr das ganze und installiert es.

make
make install

Damit die neue Installation greift, müssen wir unseren NGINX neu starten.

service nginx restart

Glückwunsch, das war es eigentlich schon 😉

Step 2

Fasst. Den unsere Webseiten benötigen auch noch eine Config, damit das ganze überhaupt greift.
Öffnet euer Plesk Backend und stellt euch auf die entsprechende Seite.

Hier geht ihr auf „Webserver-Einstellungen“

  • Scrollt etwas nach unten zu den Nginx-Einstellungen.
  • Macht einen Hacken bei Statische Dateien direkt durch Nginx bedienen
    • Fügt dieses dort ein:
      ac3 avi bmp bz2 cue dat doc docx dts exe flv gz htm html img iso mkv mp3 mp4 mpeg mpg ogg pdf ppt pptx qt rar rm swf tar tgz txt wav xls xlsx zip
  •  Nun kommen wir zu dem wichtigen Teil, zu den Zusätzlichen Anweisungen.
    Ich habe mir hier schon einige Werte raus gesucht, so wie ich finde, das sie am besten passen. Diese könnt ihr natürlich auch abändern.
pagespeed on;

# Needs to exist and be writable by nginx.  Use tmpfs for best performance.
pagespeed FileCachePath /var/cache/ngx_pagespeed_cache;
pagespeed EnableFilters combine_css,combine_javascript,combine_heads,convert_meta_tags,recompress_images;

# Ensure requests for pagespeed optimized resources go to the pagespeed handler
# and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
    add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }

gzip              on;
gzip_buffers      16 8k;
gzip_comp_level   1;
gzip_http_version 1.1;
gzip_min_length   10;
gzip_types        text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon application/vnd.ms-fontobject font/opentype application/x-font-ttf;
gzip_vary         on;
gzip_proxied      any; # Compression for all requests.
gzip_disable      "msie6";

location ~* \.(?:ico|css|js|gif|jpg|jpeg|png)$ {
    expires 30d;
    add_header Pragma public;
    add_header Cache-Control “public”;
    try_files $uri @fallback;
}

Speichert die Seite. Es sollte nun ein Verzeichnis erstellt worden sein.

/var/cache/ngx_pagespeed_cache

Damit NGINX darauf ordentlich zugreifen kann, setzt die Schreibrechte auf 0777.

Step 3

Öffnet nun euere Webseite und prüft im Ordner /var/cache/ngx_pagespeed_cache ob dort auch Verzeichnisse erstellt werden.
Wenn ja, habt ihr alles richtig gemacht 😉

 

Ich hoffe ihr konntet mit dem Tut. etwas anfangen 😉 Wenn ihr Verbesserungsvorschläge habt, nur her damit 😉

 

Beste!

Ihr dürft mir auch eine kleine Spende zukommen lassen ? Den Spende Button findet ihr ganz unten oder oben ?
BTC: 122aH1XgqetWJyfrdNcxd3kJY7DNaSrvMK
eMark: NdB7DpsLhYMEP8WqPpQ2YMedkS3nRQTJfQ

 

3 Comments

Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.