Die Nginx Version unter Plesk enthält aktuell keine Unterstützung für SPDY. Um dies zu aktivieren müssen wir NGINX aus den Sourcen bauen und das SPDY-Modul aktivieren. Dazu gehen wir wie folgt vor:
Vorbereitent müssen einige Komponenten installiert werden um Nginx im Anschluss korrekt zu bauen.
apt-get install build-essential apt-get install libssl-dev apt-get install libpcre3 libpcre3-dev
Nun holen wir uns die aktuelle Stable Version 1.6.2 von Nginx und entpacken diese.
cd /usr/local/src/ wget http://nginx.org/download/nginx-1.6.2.tar.gz tar -xvf nginx-1.6.2.tar.gz cd nginx-1.6.2/
Um das SPDY-Modul zu aktvieren rufen wir uns die aktuellen Nginx Konfigurationsparameter ab und fügen das Modul mit –with-http_spdy_module hinzu.
Abrufen der aktuellen Konfiguration
nginx -V --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
Nun übernehmen wir die aktuelle Konfiguration in unsere Sourcen und fügen SPDY hinzu und Builden die neue Version.
./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 make make install
Unser Nginx unterstützt jetzt SPDY. Nun erweitern wir unsere Plesk konfiguration. Dazu erstellen wir ein Plesk Custom Domain Template, so dass die konfiguration bei einem Plesk Update etc. erhalten bleibt.
mkdir /usr/local/psa/admin/conf/templates/custom mkdir /usr/local/psa/admin/conf/templates/custom/domain cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/
Unser Template „nginxDomainVirtualHost.php“ bearbeiten wir jetzt und fügen SPDY in die SSL konfiguration.
server { listen escapedAddress . ':' . $OPT['frontendPort'] . ($OPT['default'] ? ' default_server' : '') . ($OPT['ssl'] ? ' ssl spdy' : '') ?>
Jetzt nur noch die Virtuellen Hosts mit den folgenden Befehl rekonfigurieren und SPDY ist unter allen Domains verfügbar.
/usr/local/psa/admin/bin/httpdmng --reconfigure-all
Hallo,
danke für deine Zusammenfassung zu Plesk & Nginx / http2.
Eine Frage dazu hätte ich allerdings noch. Speziell was die Templates angeht….
werden grundsätzlich alle Dateien in dem erstellten Custom Ordner berücksichtigt wenn man mehrer Dateien kopieren / bearbeiten würde?
Und kann man im Plesk explizit sagen…. Kunde X bzw. Domain X soll durch ngnix ausgeliefert werden? oder schaltet es sich global ein und arbeitet bei jeder Domain auf dem Server?
Danke
Fabian