W ciągu ostatnich kilku miesięcy HHVM szturmem podbiło społeczność PHP. Od wydania WordPress 3.9, HHVM jest teraz w 100% kompatybilny z WordPress.
Niestety, HHVM nie jest jeszcze gotowy do użycia w środowisku produkcyjnym w środowiskach z własnym hostowaniem. Z mojego doświadczenia wynika, że HHVM ulega awarii mniej więcej raz dziennie, co czyni go nieopłacalnym dla witryny, w której ważna jest wysoka dostępność. Niedawno WP Engine wypuścił projekt Mercury, który bezproblemowo pozwala HHVM na wdzięczną awarię poprzez powrót do PHP 5.5, gdy się nie powiedzie.
W tym artykule zamierzamy zainstalować HHVM na serwerze Ubuntu z najnowszą wersją LTS, 14.04. Można to osiągnąć za pomocą programu do wizualizacji, takiego jak VirtualBox (bezpłatny) z pobranym plikiem ISO Ubuntu, lub korzystając z usługi hostingu w chmurze. DigitalOcean oferuje serwery w chmurze za 5 USD miesięcznie, czego będę używał w tym samouczku.
Pierwszą rzeczą, którą powinieneś zrobić, to zaktualizować wszystkie pakiety i zależności:
$ sudo apt-get update && sudo apt-get upgrade
Zainstaluj MySQL
Teraz musisz zainstalować MySQL, bazę danych, na której opiera się WordPress.
$ sudo apt-get install mysql-server
Powinieneś ustawić hasło root MySQL z oczywistych względów bezpieczeństwa. Jeśli jesteś bardziej świadomy bezpieczeństwa, powinieneś również uruchomić $ mysql_secure_installation
i wykonaj niezbędne kroki, aby zablokować serwer.
Zainstaluj Nginx
Następną rzeczą, którą musisz zrobić, to skonfigurować serwer WWW. Wolę używać Nginx, ponieważ jest lekki, wszechstronny i łatwy w konfiguracji.
$ sudo apt-get install nginx
Zainstaluj HHVM
Teraz zainstaluj HHVM. Nie jest to tak proste, jak instalowanie innych pakietów, ponieważ nie jest dostępne w repozytorium Ubuntu. Zamiast tego musimy pobrać go z samego HHVM wraz z kilkoma zależnościami.
wget -O - https://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update cd /tmp && wget http://security.ubuntu.com/ubuntu/pool/main/libm/libmemcached/libmemcached10_1.0.8-1ubuntu2_amd64.de... sudo dpkg -i libmemcached10_1.0.8-1ubuntu2_amd64.deb && rm libmemcached10_1.0.8-1ubuntu2_amd64.deb sudo apt-get install -y libgnutls26 wget http://mirrors.kernel.org/ubuntu/pool/main/r/rtmpdump/librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && sudo dpkg -i librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && rm librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb sudo apt-get install hhvm
Teraz, gdy zainstalowaliśmy HHVM, musimy uruchomić skrypt instalacyjny, który zainstaluje moduł HHVM dla Nginx.
sudo /usr/share/hhvm/install_fastcgi.sh
Teraz uruchom ponownie HHVM i Nginx.
sudo /etc/init.d/hhvm restart
sudo /etc/init.d/nginx restart
Skonfiguruj stronę internetową
Następną rzeczą, którą musimy zrobić, jest skonfigurowanie wirtualnego hosta dla naszej witryny. Zazwyczaj tworzysz nowego wirtualnego hosta dla każdej witryny na serwerze, ale ponieważ testujemy (i dla uproszczenia), po prostu nadpiszemy zawartość /etc/nginx/sites-available/default
z prostym plikiem poniżej:
Uwaga:aby edytować ten plik, potrzebujesz uprawnień administratora.
server { listen 80; server_name localhost; # or replace localhost with domain name include hhvm.conf; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root /var/www; index index.php; location / { try_files $uri $uri/ /index.php?$args; } }
Teraz możemy skonfigurować WordPress:
- Załaduj ponownie zaktualizowaną konfigurację nginx:
$ sudo service nginx reload
. - Teraz utwórz katalog główny sieci:
$ sudo mkdir /var/www
. - Pobierz WordPress:
$ sudo wget
http://wordpress.org/latest.tar.gz
/var/www/
. - Wyodrębnij WordPress:
$ sudo tar xvf /var/www/latest.tar.gz
. - Przenieś pliki WordPress do katalogu głównego:
$ sudo mv /var/www/wordpress/* /var/www/
. - Wyczyść:
$ sudo rm -rf /var/www/wordpress /var/www/latest.tar.gz
. - Ustaw uprawnienia:
$ sudo chmod -R 775 /var/www
. - Grupy zestawów:
$ sudo chown -R www-data.www-data /var/www
.
Skonfiguruj bazę danych WordPress
Zaloguj się do MySQL $ mysql -u root -p
. Teraz uruchom następujące polecenia:
CREATE DATABASE wordpress; CREATE USER wordpress@localhost; GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; quit
Teraz możesz przejść do adresu IP swojego serwera i śledzić słynną pięciominutową instalację.