Installation de Nginx, HHVM et MariaDB sur Debian 8

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

Installation de Nginx, HHVM et MariaDB sur Debian 8

Bonjour à tous,

 

Aujourd’hui, nous allons voir comment faire un environnement web hautes-performances sous Debian 8. 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 software-properties-common -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 sid main'
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
echo deb http://dl.hhvm.com/debian jessie main | tee /etc/apt/sources.list.d/hhvm.list
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

 

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

systemctl restart hhvm && systemctl enable hhvm

 

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 :

systemctl restart nginx

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é :

cd /var/www
rm -rf *
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-jessie

By |2015-10-06T10:32:50+00:0020 avril 2015|GNU/Linux|11 Comments

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.

11
Poster un Commentaire

avatar
4 Comment threads
6 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
HasanSnoralexNicolas SimondSeboss666 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
Hasan
Invité
Hasan

Conseillerais-tu cette installation pour un prestashop?

Hasan
Invité
Hasan

Super! Merci beaucoup!

Snor
Invité
Snor

Merci pour ces tuto tjs complet et enrichissant ! J’aurais une question avec la sortie de debian 8. En terme de performance et de compatibilité, pour un site wordpress, conseils-tu nginx (1.8) ou Apache (2.4)? Car dans un de tes anciens articles daté d’un an nginx était derrière avec les test utilisant cmsimple. Mais nginx a beaucoup évolué auj.

Snor
Invité
Snor

Merci! 🙂

alex
Invité

merci pour ce how-to j’ai découvert hhvm c’est une usine nucléaire ce truc… par rapport a php-ng et je préfère avoir la dernier version aussi de mariaDB

Seboss666
Invité

Je croyais que MariaDB 10 était déjà dispo dans Jessie, pas nécessairement besoin de passer par un dépôt tiers (à moins de vouloir à tout prix la dernière version).

Seboss666
Invité

Confirmation par l’équipe de dotdeb (qui est en train de revoir sa chaîne de compilation pour tenir les trois éditions) : https://www.dotdeb.org/2015/04/26/debian-8-0-jessie-has-been-released-and-what-it-means-for-dotdeb/