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.