Bruke HHVM med WordPress

I løpet av de siste månedene har HHVM tatt PHP-samfunnet med storm. Siden WordPress 3.9 ble utgitt, er HHVM nå 100% kompatibel med WordPress.

Dessverre er HHVM ikke helt klar til bruk i produksjon i selvhuste miljøer. I min erfaring krasjer HHVM om en gang per dag, noe som gjør det ikke levedyktig for et nettsted der høy tilgjengelighet er viktig. Nylig har WP Engine sluppet prosjektkvikksølv som sømløst tillater HHVM å grasiøst mislykkes ved å falle tilbake til PHP 5.5 når det feiler.

I denne artikkelen skal vi installere HHVM på en Ubuntu-server som kjører den nyeste LTS-utgivelsen, 14.04. Dette kan oppnås enten ved å bruke et visualiseringsprogram som VirtualBox (gratis) med en nedlastet Ubuntu ISO-fil, eller ved hjelp av en sky hosting-tjeneste. DigitalOcean tilbyr cloud servere for $ 5 i måneden, som er det jeg skal bruke i denne opplæringen.

Det første du bør gjøre er å oppdatere alle pakker og avhengigheter:

$ sudo apt-get update && sudo apt-get oppgradering

Installer MySQL

Nå må du installere MySQL, databasen som driver WordPress.

$ sudo apt-get installer mysql-server

Du bør angi et rot MySQL-passord for åpenbare sikkerhetsgrunner. Hvis du er ekstra sikkerhetsbevisst, bør du også kjøre $ mysql_secure_installation og følg de nødvendige trinnene for å låse serveren din.

Installer Nginx

Det neste du må gjøre er å sette opp en webserver. Jeg foretrekker å bruke Nginx fordi den er lett, allsidig og enkel å konfigurere.

$ sudo apt-get install nginx

Installer HHVM

Installer nå HHVM. Det er ikke så greit å installere andre pakker fordi det ikke er tilgjengelig på Ubuntu-depotet. I stedet må vi laste den ned fra HHVM selv, sammen med noen avhengigheter.

wget -O - http://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 oppdatering 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

Nå som vi har installert HHVM, må vi kjøre et installasjonsskript som vil installere HHVM-modulen for Nginx.

sudo /usr/share/hhvm/install_fastcgi.sh

Start nå om igjen HHVM og Nginx.

 sudo /etc/init.d/hhvm restart

sudo /etc/init.d/nginx restart

Konfigurer nettstedet

Den neste tingen vi trenger å gjøre er å sette opp en virtuell vert for nettstedet vårt. Vanligvis vil du opprette en ny virtuell vert for hvert nettsted på en server, men siden vi tester (og for enkelhets skyld), skal vi bare overskrive innholdet av / Etc / nginx / nettsteder-tilgjengelig / default med en enkel fil nedenfor:

Merk: Du må ha root-tillatelser for å redigere denne filen.

server listen 80; server_name localhost; # eller erstatt localhost med domenenavn inkluderer hhvm.conf; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root / var / www; indeks index.php; plassering / try_files $ uri $ uri / /index.php?$args;  

Nå kan vi sette opp WordPress:

  1. Oppdater den oppdaterte nginx-konfigurasjonen din: $ sudo service nginx reload.
  2. Opprett nå en webrotkatalog: $ sudo mkdir / var / www.
  3. Last ned WordPress:  $ Sudo wget http://wordpress.org/latest.tar.gz / Var / www /.
  4. Utdrag WordPress: $ sudo tar xvf /var/www/latest.tar.gz.
  5. Flytt WordPress-filer til webrot: $ sudo mv / var / www / wordpress / * / var / www /.
  6. Rydde opp: $ sudo rm -rf / var / www / wordpress /var/www/latest.tar.gz.
  7. Angi tillatelser: $ sudo chmod-R 775 / var / www.
  8. Angi grupper: $ sudo chown -R www-data.www-data / var / www.

Sett opp WordPress Database

Logg inn på MySQL $ mysql -u rot-p. Kjør nå følgende kommandoer:

CREATE DATABASE wordpress; CREATE USER wordpress @ localhost; Gi alle privilegier på wordpress. * Til brukernavn @ localhost IDENTIFIED BY 'passord'; FLUSH PRIVILEGES; slutte 

Nå kan du gå til serverens IP-adresse og følge den berømte fem-minutters installasjonen. 

Konklusjon

Gratulerer! Du har nå ditt eget WordPress-nettsted som kjører på banebrytende teknologi. Her er mine hastigheter som kjører standard WordPress ved hjelp av HHVM, følger instruksjonene ovenfor:

Hvor fort er nettstedet ditt lastet inn?