✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Hur ställer jag in HHVM på Ubuntu VPS?

5

Min första VPS (Virtual Private Server) hade bara 512M RAM, 1 kärna och 10G hårddisk. Senare uppgraderade jag till 2 kärnor, 1G RAM och 20G HDD på grund av en incident med slut på minnet. Men för några dagar sedan växer trafiken (de flesta av dem är från bots ), VPS kunde knappt hantera och det var därför jag uppgraderade igen till 3 kärnor och 2GB RAM.

PHP-versionen på VPS är 5.5 och därför har den en inbyggd accelerator, OpCache som cachar PHP-opkod. Opcachen introduceras för att ersätta APC (Another PHP Cache), som är ett projekt med öppen källkod som främst används för att snabba upp PHP-kod före version 5.4.x eller tidigare versioner. HHVM fungerar på liknande sätt. Den kompilerar PHP-koden till assembly vid första gången och sedan kommer assemblykoden, om den hittas och fortfarande är giltig, att köras utan att omtolka samma PHP-kod. Denna idé är mycket lik .NET-plattformen där .NET-språken som C# översätts och kompileras till inbyggd kod vid körning (JIT = Just In Time) kompilatorn. Det är därför .NET-applikationerna körs långsamt till en början men tenderar att gå snabbare senare eftersom de kompileras vid körning till ursprunglig kod och cachelagras.

Naturligtvis finns det andra nya funktioner. Det nya språket [Hack] är baserat på PHP. Vi vet att PHP-språket är ett löst språk vilket betyder att du inte behöver ange en typ (det finns faktiskt inga sätt att uttryckligen göra detta) för några variabler. Typerna används när de behöver. Hack-språket är ett gradvist typspråk vilket betyder att första gången du definierar en typ, och typen inte kan ändras. Detta hjälper till att främja robust kod och förbättrar utvecklingseffektiviteten. Detta är snarare ett stort ämne som bör introduceras i ett separat inlägg.

Installationen av HHVM på Linux (i mitt fall Ubuntu) är ganska enkel.

root@uploadbeta:/var/www/helloacm.com/htdocs/hhvm# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:    Ubuntu 14.04.1 LTS Release:        14.04 Codename:       trusty

Du kan antingen ladda ner de förkompilerade binärfilerna eller källkoden och kompilera den lokalt. Följande installationer från ett förkompilerat binärt arkiv.

wget -O -

Du kan sedan köra följande kommando för att konfigurera apache- eller ngix-servern.

/usr/share/hhvm/install_fastcgi.sh

Faktum är att efter att du har installerat hhvm kan du använda den på kommandoraden för att köra PHP-källkoden, så här:

hhvm hello-world.php

HHVM kommandoradsparametrar

Vi kan tillfälligt inaktivera Apache-servern:

sudo service apache2 stop

Och kör hhvm-servern genom att lyssna på port 80 (så du måste stoppa andra servrar som lyssnar på samma port):

hhvm -m server

Och sedan kan du testa PHP-koden i webbläsaren, som skickas till HHVM-servern.

Om du upplever ett 404 not found – fel efter installation och konfiguration måste du förmodligen lägga till följande rad till /etc/hhvm/server.ini

hhvm.server.fix_path_info = true

Och starta om hhvm med sudo-tjänsten hhvm restart.

Jag har testat och övervakat servern ett tag och för att vara ärlig såg jag ingen skillnad förmodligen på grund av den omärkliga trafiken. Emellertid ändrades processerna som listas av kommandot htop från apache2 -k start till hhvm

Vi kan också skapa en PHP-fil som har följande innehåll och testa om HHVM fungerar i webbläsaren:

WordPress-webbplatserna kan köras med HHVM men HHVM verkar inte stödja GB2312-kodning (och kanske andra också) eftersom det strular med tecknen. PHP -koden för fotogalleriet visade en tom sida med HHVM och jag har fortfarande inte räknat ut orsaken.

Jag bestämde mig ändå för att bli av med HHVM, det nuvarande paketet: Apache2 + PHP5.5 + Mysql fungerar ganska bra. Kanske kommer jag att ta tillbaka HHVM i framtiden om VPS:n upplever enorm trafik igen.

sudo service hhvm stop sudo apt-get remove hhvm

Vi måste återställa apache2-inställningarna efter HHVM-avinstallationen.

sudo a2dismod proxy_fcgi sudo a2dismod proxy rm /etc/apache2/mods-enable/hhvm*.conf sudo service apache2 restart

Inspelningskälla: helloacm.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer