Witajcie,
Kilka dni temu opisywałem sposób kompilacji serwera WWW (chyba najlepszego !!) jakim jest nginx w najnowszej wersji 1.9.3 z wkompilowanym modułem PageSpeed i zabezpieczeniem przeciwko atakom LogJam!
Na początek małe porównanie działania strony internetowej – unitraklub.pl – jest to Drupal 6 (wiec jak wiemy nie najszybszy CMS)
1. Hostingu (Pro w OVH – Apache + Varnish i MySQL)
https://gtmetrix.com/reports/ovh.unitraklub.pl/4WoP8AJq#waterfall
2. Serwera z RunAbove (nginx-1.9.3 + PageSpeed + MariaDB 10.1.6)
https://gtmetrix.com/reports/unitraklub.pl/4w4i220j
Prawda że jest różnica ? – dodam że wersja na hostingu została włączona na cele testu a wersja z nginx działa produkcyjnie.
Czas na instalacje:
1. Pobieramy gotowe paczki:
wget http://pliki.linuxiarz.pl/08-2015/nginx-1.9.3-linuxiarz_pl.tar.gz; tar xvf nginx-1.9.3-linuxiarz_pl.tar.gz ; rm nginx-1.9.3-linuxiarz_pl.tar.gz ; cd nginx/
2. Instalujemy wszelkie potrzebne paczki:
apt-get install fontconfig-config fonts-dejavu-core libfontconfig1 libgd3 libjbig0 \ libjpeg62-turbo libluajit-5.1-2 libluajit-5.1-common libperl5.20 \ libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libtiff5 \ libxpm4 libxslt1.1 python python-minimal python2.7 python2.7-minimal curl nano sendmail -y
3. Instalacja:
dpkg -i nginx-common_1.9.3-1_all.deb nginx-extras_1.9.3-1_amd64.deb nginx-doc_1.9.3-1_all.deb nginx_1.9.3-1_all.deb
Przy okazji stworzymy certyfikat do zabezpieczenia LogJam
mkdir -p /etc/ssl/private chmod 710 /etc/ssl/private cd /etc/ssl/private openssl dhparam -out dhparams.pem 2048 chmod 600 /etc/ssl/private/dhparams.pem
4. Pobieramy przygotowane przeze mnie pliki konfiguracyjne:
rm /etc/nginx/sites-available/* ; rm /etc/nginx/sites-enabled/* ; rm /etc/nginx/nginx.conf wget http://pliki.linuxiarz.pl/08-2015/nginx.conf -O /etc/nginx/nginx.conf ; wget http://pliki.linuxiarz.pl/08-2015/default.conf -O /etc/nginx/conf.d/default.conf
5. Komendą nginx -V można sprawdzić czy wszystko się zainstalowało.
6. Opcjonalnie instalujemy PHP5-FPM z bazą MariaDB 10.1.6 (na chwilę pisania artykułu ostatnia wersja) oraz PHPMyAdmin
apt-get install php5-fpm -y python-software-properties ; apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db ; echo 'deb http://mariadb.kisiek.net//repo/10.1/debian sid main' >> /etc/apt/sources.list ; apt-get update apt-get install mariadb-server phpmyadmin -y /etc/init.d/mysqld start /etc/init.d/php5-fpm restart /etc/init.d/nginx start ln -s /usr/share/phpmyadmin/ /var/www/html/pma
Panel WWW dla GooglePageSpeed można wyłączyć, opcje znajdują się w pliku /etc/nginx/nginx.conf:
pagespeed StatisticsPath /ngx_pagespeed_statistics; pagespeed GlobalStatisticsPath /ngx_pagespeed_global_statistics; pagespeed MessagesPath /ngx_pagespeed_message; pagespeed ConsolePath /pagespeed_console; pagespeed AdminPath /pagespeed_admin; pagespeed GlobalAdminPath /pagespeed_global_admin
Powyższe opcje świadczą o ścieżce panelu, np.: http://adres/ngx_pagespeed_statistics i.t.d