Wyszukiwanie w witrynie

Konfigurowanie wysokowydajnego HHVM i Nginx/Apache z MariaDB na Debianie/Ubuntu


HHVM oznacza HipHop Virtual Machine, to maszyna wirtualna typu open source stworzona do uruchamiania Hack (jest to język programowania dla HHVM) i Aplikacje napisane w języku PHP. HHVM wykorzystuje ścieżkę kompilacji w ostatniej chwili, aby osiągnąć niezwykłą wydajność przy jednoczesnym zachowaniu elastyczności, od której uzależnieni są programiści PHP. Do tej pory HHVM osiągnął ponad 9-krotny wzrost przepustowości żądań http i ponad 5-krotne zmniejszenie wykorzystania pamięci (przy małej ilości pamięci systemowej) dla Facebooka w porównaniu z silnikiem PHP + APC (alternatywna pamięć podręczna PHP ).

HHVM może być także używany razem z serwerem internetowym opartym na FastCGI, takim jak Nginx lub Apache.

W tym samouczku przyjrzymy się krokom konfiguracji serwera WWW Nginx/Apache, serwera bazy danych MariaDB i HHVM . W tej konfiguracji użyjemy Ubuntu 15.04 (64-bitowego), ponieważ HHVM działa tylko w systemie 64-bitowym, chociaż obsługiwane są także dystrybucje Debian i Linux Mint.

Krok 1: Instalacja serwera WWW Nginx i Apache

1. Najpierw wykonaj aktualizację systemu, aby zaktualizować listę repozytoriów za pomocą poniższych poleceń.


apt-get update && apt-get upgrade

2. Jak powiedziałem, HHVM może być używany zarówno z serwerem internetowym Nginx, jak i Apache. Zatem to Ty decydujesz, którego serwera WWW będziesz używać, ale tutaj pokażemy Ci instalację obu serwerów WWW i sposób ich używania z HHVM.

Instalacja Nginxa

W tym kroku zainstalujemy serwer WWW Nginx/Apache z repozytorium pakietów za pomocą następującego polecenia.


apt-get install nginx

Instalowanie Apache'a


apt-get install apache2

W tym momencie powinieneś móc przejść do następującego adresu URL i zobaczyć domyślną stronę Nginx lub Apache.


http://localhost
OR
http://IP-Address
Domyślna strona Nginx

Domyślna strona Apache

Krok 2: Zainstaluj i skonfiguruj MariaDB

3. Na tym etapie zainstalujemy MariaDB, ponieważ zapewnia ona lepszą wydajność w porównaniu z MySQL.


apt-get install mariadb-client mariadb-server

4. Po pomyślnej instalacji MariaDB możesz uruchomić MariaDB i ustawić hasło roota, aby zabezpieczyć bazę danych:


systemctl start mysql
mysql_secure_installation

Odpowiedz na poniższe pytania, wpisując y lub n i naciśnij Enter. Przed udzieleniem odpowiedzi na pytania pamiętaj o dokładnym przeczytaniu instrukcji.


Enter current password for root (enter for none) = press enter
Set root password? [Y/n] = y
Remove anonymous users[y/n] = y
Disallow root login remotely[y/n] = y
Remove test database and access to it [y/n] = y
Reload privileges tables now[y/n] = y 

5. Po ustawieniu hasła roota dla MariaDB możesz połączyć się z MariaDB za pomocą nowego hasła roota.


mysql -u root -p

Krok 3: Instalacja HHVM

6. Na tym etapie zainstalujemy i skonfigurujemy HHVM. Musisz dodać repozytorium HHVM do swojego pliku sources.list, a następnie zaktualizować listę repozytoriów za pomocą poniższej serii poleceń.


wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -
echo deb http://dl.hhvm.com/ubuntu DISTRIBUTION_VERSION main | sudo tee /etc/apt/sources.list.d/hhvm.list
apt-get update

Ważne: nie zapomnij zastąpić DISTRIBUTION_VERSION wersją dystrybucyjną Ubuntu (tj. przejrzystą, precyzyjną lub wiarygodną .), a także w Debianie zamień na jessie lub wheezy. W przypadku Linux Mint instrukcje instalacji są takie same, ale Petra jest jedyną obecnie obsługiwaną dystrybucją.

Po dodaniu repozytorium HHVM możesz je łatwo zainstalować, jak pokazano.


apt-get install -y hhvm

Zainstalowanie HHVM uruchomi go teraz, ale nie jest skonfigurowany do automatycznego uruchamiania przy następnym uruchomieniu systemu. Aby ustawić automatyczne uruchamianie przy następnym uruchomieniu, użyj następującego polecenia.


update-rc.d hhvm defaults

Krok 4: Konfigurowanie Nginx/Apache do rozmowy z HHVM

7. Teraz nginx/apache i HHVM są zainstalowane i działają jako niezależne, więc musimy skonfigurować oba serwery internetowe, aby mogły ze sobą rozmawiać. Kluczową częścią jest to, że musimy powiedzieć nginx/apache, aby przekazał wszystkie pliki PHP do HHVM w celu wykonania.

Jeśli używasz Nginx, postępuj zgodnie z poniższymi instrukcjami.

Domyślnie konfiguracja nginx znajduje się w /etc/nginx/sites-available/default, a ta konfiguracja szuka plików do wykonania w /usr/share/nginx/html, ale nie wiem, co zrobić z PHP.

Aby Nginx mógł rozmawiać z HHVM, musimy uruchomić następujący skrypt dołączający, który poprawnie skonfiguruje nginx, umieszczając plik hhvm.conf na początku konfiguracji nginx, jak wspomniano powyżej.

Ten skrypt sprawia, że nginx rozmawia z dowolnym plikiem kończącym się na .hh lub .php i wysyła go do HHVM przez fastcgi.


/usr/share/hhvm/install_fastcgi.sh

Ważne: jeśli używasz Apache, nie jest teraz wymagana żadna konfiguracja.

8. Następnie musisz użyć /usr/bin/hhvm, aby udostępnić /usr/bin/php (php), uruchamiając to polecenie poniżej.


/usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60

Po wykonaniu wszystkich powyższych kroków możesz teraz uruchomić HHVM i przetestować go.


systemctl start hhvm

Krok 5: Testowanie HHVM za pomocą Nginx/Apache

9. Aby sprawdzić, czy hhvm działa, musisz utworzyć plik hello.php w katalogu głównym dokumentu nginx/apache.


nano /usr/share/nginx/html/hello.php       [For Nginx]
OR
nano /var/www/html/hello.php               [For Nginx and Apache]

Dodaj następujący fragment do tego pliku.


<?php
if (defined('HHVM_VERSION')) {
echo 'HHVM is working';
 phpinfo();
}
else {
echo 'HHVM is not working';
}
?>

a następnie przejdź do następującego adresu URL i potwierdź, że widzisz „witaj, świecie”.


http://localhost/info.php
OR
http://IP-Address/info.php

Jeśli pojawi się strona „HHVM”, oznacza to, że wszystko gotowe!

Wniosek

Poniższe kroki są bardzo łatwe do wykonania i mamy nadzieję, że ten samouczek okaże się przydatny. Jeśli podczas instalacji jakichkolwiek pakietów pojawi się błąd, opublikuj komentarz, a wspólnie znajdziemy rozwiązanie. Wszelkie dodatkowe pomysły są mile widziane.