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
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.
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 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
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:
$ sudo service nginx reload
.$ sudo mkdir / var / www
. $ Sudo wget
http://wordpress.org/latest.tar.gz
/ Var / www /
.$ sudo tar xvf /var/www/latest.tar.gz
.$ sudo mv / var / www / wordpress / * / var / www /
.$ sudo rm -rf / var / www / wordpress /var/www/latest.tar.gz
.$ sudo chmod-R 775 / var / www
.$ sudo chown -R www-data.www-data / var / www
.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.
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?