Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Comment configurer HHVM sur le VPS Ubuntu ?

7

Mon VPS (Virtual Private Server) initial n’avait que 512 Mo de RAM, 1 cœur et 10 Go de disque dur. Plus tard, j’ai mis à niveau vers 2 cœurs, 1 Go de RAM et 20 Go de disque dur en raison d’un incident de mémoire insuffisante. Cependant, il y a quelques jours, le trafic augmente (la plupart d’entre eux proviennent de bots ), le VPS pouvait à peine gérer et c’est pourquoi j’ai de nouveau mis à niveau vers 3 cœurs et 2 Go de RAM.

La version PHP chez VPS est 5.5 et dispose donc d’un accélérateur intégré, OpCache, qui met en cache l’opcode PHP. L’Opcache est introduit pour remplacer APC (Another PHP Cache), qui est un projet open source principalement utilisé pour accélérer le code PHP avant la version 5.4.x ou les versions antérieures. Le HHVM fonctionne de manière similaire. Il compile le code PHP en assembleur dans un premier temps, puis le code assembleur s’il est trouvé et toujours valide sera exécuté sans réinterpréter le même code PHP. Cette idée est très similaire à la plate-forme .NET où les langages .NET tels que C # sont traduits et compilés en code natif au moment de l’exécution (JIT = Just In Time) du compilateur. C’est pourquoi les applications .NET s’exécutent lentement au début, mais ont tendance à s’accélérer plus tard, car elles sont compilées au moment de l’exécution en code natif et mises en cache.

Bien sûr, il y a d’autres nouvelles fonctionnalités. Le nouveau langage [Hack] est basé sur PHP. Nous savons que le langage PHP est un langage de type lâche, ce qui signifie que vous n’avez pas à spécifier de type (en fait, il n’y a aucun moyen de le faire explicitement) pour les variables. Les types sont utilisés quand ils en ont besoin. Le langage Hack est un langage de type progressif, ce qui signifie que la première fois que vous définissez un type, le type ne peut pas être modifié. Cela aide à promouvoir un code robuste et améliore l’efficacité du développement. C’est un sujet assez important qui devrait être présenté dans un article séparé.

L’installation de HHVM sur Linux (dans mon cas, Ubuntu) est assez simple.

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

Vous pouvez soit télécharger les binaires pré-compilés, soit le code source et le compiler localement. Les installations suivantes s’installent à partir d’un référentiel binaire précompilé.

wget -O -

Vous pouvez ensuite exécuter la commande suivante pour configurer le serveur apache ou ngix.

/usr/share/hhvm/install_fastcgi.sh

En fait, après avoir installé hhvm, vous pouvez l’utiliser en ligne de commande pour exécuter le code source PHP, comme ceci :

hhvm hello-world.php

Paramètres de ligne de commande HHVM

Nous pouvons désactiver temporairement le serveur Apache :

sudo service apache2 stop

Et lancer le serveur hhvm, en écoutant sur le port 80 (il faut donc arrêter les autres serveurs qui écoutent le même port) :

hhvm -m server

Et puis vous pouvez tester le code PHP dans le navigateur, qui est transmis au serveur HHVM.

Si vous rencontrez une erreur 404 introuvable après l’installation et la configuration, vous devrez probablement ajouter la ligne suivante à /etc/hhvm/server.ini

hhvm.server.fix_path_info = true

Et redémarrez hhvm en utilisant sudo service hhvm restart.

J’ai testé et surveillé le serveur pendant un petit moment et pour être honnête, je n’ai vu aucune différence, probablement à cause du trafic imperceptible. Cependant, les processus répertoriés par la commande htop sont passés de apache2 -k start à hhvm

Nous pouvons également créer un fichier PHP avec le contenu suivant et tester si HHVM fonctionne dans le navigateur :

Les sites wordpress sont exécutables à l’aide de HHVM, mais HHVM ne semble pas prendre en charge l’encodage GB2312 (et peut-être d’autres aussi) car il gâche les caractères. Le code PHP de la galerie de photos a montré une page vierge en utilisant HHVM et je n’ai toujours pas compris la cause.

J’ai quand même décidé de me débarrasser de HHVM, le package actuel: Apache2 + PHP5.5 + Mysql fonctionne plutôt bien. Peut-être que je ramènerai HHVM à l’avenir si le VPS connaît à nouveau un trafic énorme.

sudo service hhvm stop sudo apt-get remove hhvm

Nous devons restaurer les paramètres apache2 après la désinstallation de HHVM.

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

Source d’enregistrement: 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