PHP7 RC6 na Debian 8 Jessie – testujemy!

php7-logo

Programiści PHP obecnie pracują nad nową główną wersją PHP, nazwaną PHP 7. Wśród twórców były dyskusje, czy następna główna wersja PHP powinna nazywać się PHP 6, czy PHP 7. Chociaż eksperymentalna wersja PHP 6 unicode nie była nigdy wydana, wiele artykułów i książek odwoływało się do starej nazwy PHP 6. Mogłoby to prowadzić do nieporozumień, gdyby nowe wydanie również nazywało się PHP 6. W wyniku głosowania wybrano nazwę PHP 7.

Bazą PHP 7 jest eksperymentalna gałąź, oryginalnie nazwana PHPNG (PHP Next Generation), mająca na celu optymalizację wydajności PHP przez refaktoring Zend Engine, zachowując niemal całkowitą zgodność języka. Począwszy od 14 lipca 2014 r., główny punkt odniesienia testowania wydajności PHPNG, którym jest WordPress, wskazuje niemal 100% wzrost wydajności. Zmiany wprowadzone w PHPNG powinny również ułatwiać implementowanie usprawnień wydajności w przyszłości, ponieważ bardziej zwarte struktury danych oraz inne zmiany uważane są za lepiej nadające się do pomyślnej migracji do kompilacji Just-in-time.

PHP 7 będzie zawierać ulepszoną składnię zmiennych, wewnętrznie spójną i kompletną, co jest od dawna problemem w PHP. Pozwoli to na użycie operatorów ->, [], (), {} i :: z dowolnymi poprawnymi wyrażeniami po lewej

Źródło: Wikipedia.pl

Instalację przeprowadzamy na Debianie 8. Domyślnie z PHP 7 instaluje się Apache2 🙁 czego nie chcemy. (ja nie chce;] ).

Uwaga! -> phpMyAdmin z repozytoriów Debiana 8 nie działa z PHP7 jeszcze, przedstawię wam instalacje phpMyAdmina z repozytoriów sid

Continue reading “PHP7 RC6 na Debian 8 Jessie – testujemy!”

Nowa wersja NGINX – 1.9.6

Nginx-logo

Źródła zostały zaktualizowane dnia 27.10.2015. Takie otrzymujemy zmiany:

Changes with nginx 1.9.6                                         27 Oct 2015

    *) Bugfix: a segmentation fault might occur in a worker process when
       using HTTP/2.
       Thanks to Piotr Sikora and Denis Andzakovic.

    *) Bugfix: the $server_protocol variable was empty when using HTTP/2.

    *) Bugfix: backend SSL connections in the stream module might be timed
       out unexpectedly.

    *) Bugfix: a segmentation fault might occur in a worker process if
       different ssl_session_cache settings were used in different virtual
       servers.

    *) Bugfix: nginx/Windows could not be built with MinGW gcc; the bug had
       appeared in 1.9.4.
       Thanks to Kouhei Sutou.

    *) Bugfix: time was not updated when the timer_resolution directive was
       used on Windows.

    *) Miscellaneous minor fixes and improvements.
       Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora.

Continue reading “Nowa wersja NGINX – 1.9.6”

Ubuntu – Serwer WWW w pigułce

www_u_p1

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.

Continue reading “Ubuntu – Serwer WWW w pigułce”