De afgelopen maanden heeft HHVM de PHP-community stormenderhand veroverd. Sinds WordPress 3.9 is uitgebracht, is HHVM nu 100% compatibel met WordPress.
Helaas is HHVM nog niet helemaal klaar voor gebruik in productie in zelf-gehoste omgevingen. In mijn ervaring crasht HHVM ongeveer één keer per dag, waardoor het niet haalbaar is voor een site waar hoge beschikbaarheid belangrijk is. Onlangs heeft WP Engine het project Mercury uitgebracht waarmee HHVM naadloos kan mislukken door terug te vallen op PHP 5.5 wanneer het faalt.
In dit artikel gaan we HHVM installeren op een Ubuntu-server met de nieuwste LTS-release, 14.04. Dit kan worden bereikt door een visualisatieprogramma zoals VirtualBox (gratis) te gebruiken met een gedownload Ubuntu ISO-bestand, of door een cloudhostingservice te gebruiken. DigitalOcean biedt cloudservers aan voor $ 5 per maand, wat ik in deze zelfstudie ga gebruiken.
Het eerste dat u moet doen, is alle pakketten en afhankelijkheden bijwerken:
$ sudo apt-get update && sudo apt-get upgrade
Installeer MySQL
Nu moet je MySQL installeren, de database die WordPress aanstuurt.
$ sudo apt-get install mysql-server
U moet om voor de hand liggende veiligheidsredenen een root MySQL-wachtwoord instellen. Als u extra veiligheidsbewust bent, moet u ook $ mysql_secure_installation
. uitvoeren en volg de nodige stappen om uw server te vergrendelen.
Nginx installeren
Het volgende dat u hoeft te doen, is een webserver instellen. Ik gebruik liever Nginx omdat het lichtgewicht, veelzijdig en eenvoudig te configureren is.
$ sudo apt-get install nginx
HHVM installeren
Installeer nu HHVM. Het is niet zo eenvoudig als het installeren van andere pakketten, omdat het niet beschikbaar is in de Ubuntu-repository. In plaats daarvan moeten we het downloaden van HHVM zelf, samen met een paar afhankelijkheden.
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
Nu we HHVM hebben geïnstalleerd, moeten we een installatiescript uitvoeren waarmee de HHVM-module voor Nginx wordt geïnstalleerd.
sudo /usr/share/hhvm/install_fastcgi.sh
Herstart nu HHVM en Nginx.
sudo /etc/init.d/hhvm restart
sudo /etc/init.d/nginx restart
De website instellen
Het volgende dat we moeten doen, is een virtuele host voor onze website opzetten. Normaal gesproken zou u voor elke website op een server een nieuwe virtuele host maken, maar aangezien we aan het testen zijn (en omwille van de eenvoud) gaan we gewoon de inhoud van /etc/nginx/sites-available/default
met een eenvoudig bestand hieronder:
Opmerking:je hebt root-rechten nodig om dit bestand te bewerken.
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; } }
Nu kunnen we WordPress instellen:
- Herlaad uw bijgewerkte nginx-configuratie:
$ sudo service nginx reload
. - Maak nu een webhoofdmap aan:
$ sudo mkdir /var/www
. - Wordpress downloaden:
$ sudo wget
http://wordpress.org/latest.tar.gz
/var/www/
. - Wordpress uitpakken:
$ sudo tar xvf /var/www/latest.tar.gz
. - Verplaats WordPress-bestanden naar webroot:
$ sudo mv /var/www/wordpress/* /var/www/
. - Opschonen:
$ sudo rm -rf /var/www/wordpress /var/www/latest.tar.gz
. - Machtigingen instellen:
$ sudo chmod -R 775 /var/www
. - Stel groepen in:
$ sudo chown -R www-data.www-data /var/www
.
De WordPress-database instellen
Log in op MySQL $ mysql -u root -p
. Voer nu de volgende opdrachten uit:
CREATE DATABASE wordpress; CREATE USER wordpress@localhost; GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; quit
Nu kunt u naar het IP-adres van uw server gaan en de beroemde installatie van vijf minuten volgen.