Hej:) Dziś trochę dłuższy poradnik, dotyczący instalacji serwera dla stron internetowych w pigułce. Jest to pewnego rodzaju podsumowanie do wcześniejszych poradników łączący w sobie jeden duży i obszerny opis wraz z gotowymi konfiguracjami serwera WWW.
W przygotowanie wszystkiego włożyłem bardzo dużo czasu, wbrew pozorom nie jest to taka łatwa sprawa – aby wszystko działało, było praktyczne i niezawodne ponadto zachowując w miarę świeże pakiety oraz dobre konfiguracje.
Od środka działa Apache2 z obsługą PHP5-FPM za pomocą modułu MPM-WORKER, komunikuje się z punktem wymiany socketowym z PHP. Od frontu stoi NGINX służący jako system “przepisywania” w locie kodu dzięki Pagespeedowi oraz innym modułom opisanym w tym poradniku. NGINX ponadto skonfigurowany jest jako cache – gromadzi statyczne elementy w swojej pamięci aby jeszcze bardziej przyśpieszyć i zredukować spowolnienia w ładowaniu obsługujących stron internetowych.
NGINX’a kompilujesz z “moich” źródeł – uniwersalne dla Debiana 8 oraz Ubuntu. Dysponuje wersją powyżej 1.9.5 – w domyślnie włączoną opcją protokołu http/2 – po więcej info: https://www.nginx.com/blog/how-nginx-plans-to-support-http2/
Jako bazę danych postanowiłem opisać trzy warianty, dlaczego ? Może dlatego że nie każdy chce mieć MarieDB czy MySQL’a – osobiście jestem wierny MariaDB ale to najmniejszego znaczenia nie ma w tym przypadku – może jedynie przekładać się to w ewentualnej wydajności (na + dla alternatyw MySQL’a)
Jako PHP postanowiłem opisać dwa warianty, dla tych co nie potrzebują najnowszych zawsze wersji oraz dla tych którzy lubią mieć w miarę świeże pakiety w systemie. Wersje są dwie, bezpośrednio z repozytoriów dystrybucji oraz przygotowaną przez społeczność Ubuntu; nie zabrakło oczywiście modułów IonCube oraz Opcache.
Jako “Gratis” dołączony jest Varnish – jest on oczywiście z gotową konfiguracją – dlaczego jako opcja ? Z wielu aspektów, np. niektóre CMSy nie potrafią poprawnie działać, chociaż mój konfig przygotowany jest pod Drupala, Wordpresa itp.
Warto wspomnieć o FTP – przygotowałem fajny konfig do vsftpd dzięki czemu otrzymujemy szyfrowane połączenie między serwerem oraz klientem – opcję zawsze można wyłączyć.
Kilka technicznych informacji:
Dostęp do PhpMyAdmina : http://IP:9977 (ominięcie cache i Varnisha)
Apache/2 port: : http://IP:8080
NGINX port : http://IP:80
Opcja Varnish:
Dostęp do PhpMyAdmina : http://IP:9977 (ominięcie cache i Varnisha)
Apache port: : http://IP:8080
Varnish port: http://IP:80
NGINX port : http://IP:88
Połączenia HTTPS nie są kierowane przez Varnisha.