Installation de Nginx, HHVM et MariaDB sur Debian 7

//Installation de Nginx, HHVM et MariaDB sur Debian 7
1/52/53/54/55/5 (3 votes, moyenne: 5,00 sur 5)
Loading...

Installation de Nginx, HHVM et MariaDB sur Debian 7

Bonjour à tous,

 

Aujourd’hui, nous allons voir comment faire un environnement web hautes-performances sous Debian 7. Actuellement, c’est une des configurations types les plus rapides qui existe pour le traitement web/php/mysql mais, ce n’est pas ce qui offre la meilleure compatibilité. Je vous laisse regarder les autres procédures du site pour voir si elles correspondent mieux à vos attentes.

Avant de commencer, connectez-vous avec l’utilisateur root sur votre serveur.

Configuration des repository :

On va commencer par installer les repository nécessaires :

apt-get install python-software-properties -y
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
add-apt-repository 'deb http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/debian wheezy main'
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
echo deb http://dl.hhvm.com/debian wheezy main | tee /etc/apt/sources.list.d/hhvm.list
wget http://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg
add-apt-repository 'deb http://packages.dotdeb.org wheezy all'
add-apt-repository 'deb-src http://packages.dotdeb.org wheezy all'
apt-get update

 

Installation des composants du serveur :

Nous allons installer Nginx, MariaDB, HHVM, Memcached et le client NTP pour que votre machine soit toujours à l’heure.

apt-get install nginx mariadb-server hhvm libgmp-dev memcached libmemcached-dev ntp -y

 

Configuration du client NTP :

La configuration du client NTP est éditable avec cette commande :

nano /etc/ntp.conf

 

Vous devez rajouter les serveurs de temps qui correspondent à votre zone. Vous pourrez les trouver sur ce site.

Par exemple pour la France :

server 0.fr.pool.ntp.org
server 1.fr.pool.ntp.org
server 2.fr.pool.ntp.org
server 3.fr.pool.ntp.org

 

Configuration de HHVM :

Nous allons maintenant le configurer pour qu’il cache automatiquement sa version et pour qu’il utilise les sockets Unix à la place d’un port TCP.

Avant tout nous allons commencer par ouvrir le fichier de configuration de la bête :

nano /etc/hhvm/server.ini

 

Maintenant éditez votre fichier pour qu’il ressemble à celui-ci :

; php options

pid = /var/run/hhvm/pid

; hhvm specific

; hhvm.server.port = 9000
hhvm.server.file_socket = /var/run/hhvm/server.sock
hhvm.server.type = fastcgi
hhvm.server.default_document = index.php
hhvm.log.use_log_file = true
hhvm.log.file = /var/log/hhvm/error.log
hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc

; headers
expose_php = 0

 

La ligne qui nous permet de tourner avec les sockets Unix c’est celle-ci :

hhvm.server.file_socket = /var/run/hhvm/server.sock

 

Enregistrez votre fichier avec un petit coup de Ctrl+O et redémarrez le service :

service hhvm restart && update-rc.d hhvm defaults

 

Configuration de Nginx :

Maintenant, on va passer à la configuration de Nginx.

Lancez la ligne de commande suivante pour éditer la configuration principale de Nginx :

nano /etc/nginx/nginx.conf

 

Adaptez le worker_processes en fonction de votre nombre de cœurs cpu :

worker_processes 8;

 

Sauvegardez ce fichier avec Ctrl+O et ouvrez le fichier de configuration de HHVM :

rm /etc/nginx/hhvm.conf
nano /etc/nginx/hhvm.conf

 

Remplissez le avec ceci :

location ~ \.(hh|php)$ {
fastcgi_keep_conn on;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/hhvm/server.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

 

Sauvegardez le fichier et redémarrez Nginx :

service nginx restart

Création du répertoire web pour votre site :

Nous allons maintenant créer le répertoire qui va accueillir votre site web ainsi que le virtualhost Nginx associé :

mkdir /var/www
chown -R root:www-data /var/www
chmod g+w -R /var/www

 

Nous allons aussi créer un fichier index.php à des fins de test :

nano /var/www/index.php

 

Remplissez-le avec ceci et sauvegardez-le :

<?php phpinfo(); ?>

 

Création du VirtualHost pour Nginx :

Maintenant nous allons créer le VirtualHost par défaut sur Nginx pour qu’il affiche votre site web :

rm /etc/nginx/sites-enabled/default
nano /etc/nginx/sites-enabled/default

 

Remplissez-le avec ceci :

server {
listen 80 default_server;

root /var/www;

index index.php index.html;

access_log /var/log/nginx/default-access_log;
error_log /var/log/nginx/default-error_log;

location / {
try_files $uri $uri/ /index.php?$args;
}

include /etc/nginx/hhvm.conf;
}

 

Maintenant, redémarrez Nginx et tapez l’adresse de votre serveur dans votre navigateur favori, vous devriez avoir cet affichage :

nginx-hhvm-wheezy

By |2015-10-06T10:33:07+00:0011 avril 2015|GNU/Linux|1 Comment

About the Author:

Diplômé d'un BTS SIO SISR et travaillant actuellement en Suisse, je suis passionné par tout ce qui touche à l'informatique et la musique hard rock et métal depuis ma plus tendre enfance. Je suis le créateur et l'unique rédacteur d'Abyss Project, ce blog qui me sert de bloc-notes public en quelque sorte.

1
Poster un Commentaire

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
vito Recent comment authors

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Plus récents Plus anciens Populaires
vito
Invité
vito

Salut,

perso avec nginx & hhvm j’ai eu des performance plus faible que avec php5.6 sur debian :/

j’ai testé sur une VM avec 5 go de ram et 3 vcore et la même chose m’est arrivé