✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come configurare HHVM su Ubuntu VPS?

10

Il mio VPS iniziale (Virtual Private Server) aveva solo 512M RAM, 1 core e 10G HDD. Successivamente ho aggiornato a 2 core, 1G RAM e 20G HDD a causa di un incidente di memoria insufficiente. Tuttavia, pochi giorni fa, il traffico cresce (la maggior parte di questi proviene da bot ), il VPS riusciva a malapena a gestire ed è per questo che ho aggiornato di nuovo a 3 core e 2 GB di RAM.

La versione PHP su VPS è 5.5 e quindi ha un acceleratore integrato, OpCache che memorizza nella cache il codice operativo PHP. L’Opcache è stato introdotto per sostituire APC (Another PHP Cache), che è un progetto open source utilizzato principalmente per velocizzare il codice PHP prima della versione 5.4.xo versioni precedenti. L’ HHVM funziona in modo simile. Compila il codice PHP in assembly la prima volta e quindi il codice assembly se trovato e ancora valido verrà eseguito senza reinterpretare lo stesso codice PHP. Questa idea è molto simile alla piattaforma .NET in cui i linguaggi .NET come C# vengono tradotti e compilati in codice nativo al compilatore runtime (JIT = Just In Time). Questo è il motivo per cui le applicazioni .NET all’inizio funzionano lentamente, ma tendono a velocizzarsi in seguito perché vengono compilate in fase di esecuzione in codice nativo e memorizzate nella cache.

Naturalmente, ci sono altre nuove funzionalità. Il nuovo linguaggio [Hack] è basato su PHP. Sappiamo che il linguaggio PHP è un linguaggio di tipo generico, il che significa che non è necessario specificare un tipo (in effetti non ci sono modi per farlo esplicitamente) per nessuna variabile. I tipi vengono utilizzati quando è necessario. Il linguaggio Hack è un linguaggio di tipo graduale, il che significa che la prima volta che si definisce un tipo e il tipo non può essere modificato. Questo aiuta a promuovere un codice solido e migliora l’efficienza dello sviluppo. Questo è piuttosto un argomento importante che dovrebbe essere introdotto in un post separato.

L’installazione di HHVM su Linux (nel mio caso, Ubuntu) è piuttosto semplice.

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

Puoi scaricare i binari precompilati o il codice sorgente e compilarlo localmente. Quanto segue viene installato da un repository binario precompilato.

wget -O -

È quindi possibile eseguire il comando seguente per configurare il server apache o ngix.

/usr/share/hhvm/install_fastcgi.sh

Infatti, dopo aver installato hhvm, puoi usarlo dalla riga di comando per eseguire il codice sorgente PHP, in questo modo:

hhvm hello-world.php

Parametri della riga di comando HHVM

Possiamo disabilitare temporaneamente il server Apache:

sudo service apache2 stop

Ed esegui il server hhvm, ascoltando sulla porta 80 (quindi devi fermare altri server che ascoltano la stessa porta):

hhvm -m server

E poi puoi testare il codice PHP nel browser, che viene passato al server HHVM.

Se si verifica un errore 404 non trovato dopo l’installazione e la configurazione, probabilmente è necessario aggiungere la seguente riga a /etc/hhvm/server.ini

hhvm.server.fix_path_info = true

E riavvia hhvm usando sudo service hhvm restart.

Ho testato e monitorato il server per un po’ di tempo e ad essere sincero non ho visto alcuna differenza probabilmente a causa del traffico impercettibile. Tuttavia, i processi elencati dal comando htop sono cambiati da apache2 -k start a hhvm

Possiamo anche creare un file PHP con il seguente contenuto e verificare se HHVM funziona nel browser:

I siti wordpress sono eseguibili utilizzando HHVM ma HHVM sembra non supportare la codifica GB2312 (e forse anche altri) perché incasina i caratteri. Il codice PHP della galleria fotografica mostrava una pagina vuota utilizzando HHVM e non ho ancora capito la causa.

Ho comunque deciso di sbarazzarmi di HHVM, il pacchetto attuale: Apache2 + PHP5.5 + Mysql funziona abbastanza bene. Forse riporterò HHVM in futuro se il VPS riscontrerà di nuovo un traffico enorme.

sudo service hhvm stop sudo apt-get remove hhvm

Abbiamo bisogno di ripristinare le impostazioni di apache2 dopo la disinstallazione di HHVM.

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

Fonte di registrazione: helloacm.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More