Během několika posledních měsíců vzal HHVM komunitu PHP útokem. Od vydání WordPress 3.9 je HHVM nyní 100% kompatibilní s WordPress.
Bohužel HHVM není zcela připraven pro použití v produkci v prostředí s vlastním hostitelem. Podle mých zkušeností HHVM selhává přibližně jednou denně, takže není životaschopný na webu, kde je důležitá vysoká dostupnost. Nedávno WP Engine vydal projekt Mercury, který bezproblémově umožňuje HHVM selhat tím, že se vrátí na PHP 5.5, když selže.
V tomto článku se chystáme nainstalovat HHVM na server Ubuntu s nejnovější verzí LTS, 14.04. Toho lze dosáhnout buď pomocí vizualizačního programu, jako je VirtualBox (zdarma) se staženým souborem ISO Ubuntu, nebo pomocí cloudové hostingové služby. DigitalOcean nabízí cloudové servery za 5 $ měsíčně, což je to, co budu používat v tomto tutoriálu.
První věc, kterou byste měli udělat, je aktualizovat všechny balíčky a závislosti:
$ sudo apt-get update && sudo apt-get upgrade
Nainstalujte MySQL
Nyní je potřeba nainstalovat MySQL, databázi, která pohání WordPress.
$ sudo apt-get install mysql-server
Měli byste nastavit kořenové heslo MySQL ze zřejmých bezpečnostních důvodů. Pokud jste si více vědomi zabezpečení, měli byste také spustit $ mysql_secure_installation
a postupujte podle nezbytných kroků k uzamčení serveru.
Nainstalujte Nginx
Další věc, kterou musíte udělat, je nastavit webový server. Raději používám Nginx, protože je lehký, všestranný a snadno konfigurovatelný.
$ sudo apt-get install nginx
Instalovat HHVM
Nyní nainstalujte HHVM. Není to tak přímočaré jako instalace jiných balíčků, protože to není dostupné v úložišti Ubuntu. Místo toho jej musíme stáhnout ze samotného HHVM spolu s několika závislostmi.
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
Nyní, když jsme nainstalovali HHVM, musíme spustit instalační skript, který nainstaluje modul HHVM pro Nginx.
sudo /usr/share/hhvm/install_fastcgi.sh
Nyní restartujte HHVM a Nginx.
sudo /etc/init.d/hhvm restart
sudo /etc/init.d/nginx restart
Nastavení webu
Další věc, kterou musíme udělat, je nastavit virtuálního hostitele pro naše webové stránky. Obvykle byste vytvořili nového virtuálního hostitele pro každou webovou stránku na serveru, ale protože testujeme (a pro jednoduchost), pouze přepíšeme obsah /etc/nginx/sites-available/default
pomocí jednoduchého souboru níže:
Poznámka:K úpravě tohoto souboru potřebujete oprávnění root.
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; } }
Nyní můžeme nastavit WordPress:
- Znovu načtěte aktualizovanou konfiguraci nginx:
$ sudo service nginx reload
. - Nyní vytvořte kořenový webový adresář:
$ sudo mkdir /var/www
. - Stáhněte si WordPress:
$ sudo wget
http://wordpress.org/latest.tar.gz
/var/www/
. - Extrahujte WordPress:
$ sudo tar xvf /var/www/latest.tar.gz
. - Přesuňte soubory WordPress do kořenového adresáře webu:
$ sudo mv /var/www/wordpress/* /var/www/
. - Vyčištění:
$ sudo rm -rf /var/www/wordpress /var/www/latest.tar.gz
. - Nastavit oprávnění:
$ sudo chmod -R 775 /var/www
. - Nastavit skupiny:
$ sudo chown -R www-data.www-data /var/www
.
Nastavení databáze WordPress
Přihlaste se do MySQL $ mysql -u root -p
. Nyní spusťte následující příkazy:
CREATE DATABASE wordpress; CREATE USER wordpress@localhost; GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; quit
Nyní můžete přejít na IP adresu vašeho serveru a následovat slavnou pětiminutovou instalaci.