Nginx est un serveur HTTP gratuit, open-source et hautes performances qui, contrairement à ses "amis", ne repose pas sur la gestion des requêtes par thread, mais utilise à la place une architecture pilotée par les événements (asynchrone) beaucoup plus évolutive. Cela utilise une quantité de mémoire très petite et prévisible sous une charge importante. Nginx, associé au gestionnaire de processus FastCGI simple et très robuste pour PHP (PHP-FPM) et au serveur de base de données MySQL le plus populaire au monde, peut vous offrir beaucoup de puissance et de performances tout en utilisant une petite empreinte mémoire.
L'article suivant explique comment installer et configurer cette pile sur l'un de nos VPS basés sur Debian.
# apt-get update && apt-get -y upgrade --show-upgraded
# echo -e "deb http://packages.dotdeb.org squeeze all" >> /etc/apt/sources.list
# gpg --keyserver keys.gnupg.net --recv-key 89DF5277 && gpg -a --export 89DF5277 | apt-key add -
– Vous devriez obtenir quelque chose comme la sortie ci-dessous :
gpg :requête de la clé 89DF5277 depuis le serveur hkp keys.gnupg.net
gpg :clé 89DF5277 :clé publique « Guillaume Plessis » importée
gpg :aucune clé finalement fiable trouvée
gpg :nombre total traité :1
gpg :importé :1 (RSA :1)
OK
# apt-get update
- Si vous avez un serveur Web Apache en cours d'exécution sur votre système, vous devez l'arrêter et le désactiver afin que Nginx puisse être démarré ultérieurement. Pour ce faire, lancez la commande suivante :
# [[ $(pgrep apache2) ]] && service apache2 stop && update-rc.d -f apache2 disable
# apt-get -y install nginx # apt-get -y install php5-fpm php5-gd php5-curl php5-mysql # apt-get -y install mysql-server
server { server_name example.com www.example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log error; root /var/www/; index index.php index.html index.htm; location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; ## prevent php version info fastcgi_hide_header X-Powered-By; } }
assurez-vous de remplacer "exemple.com" par le nom de domaine souhaité. N'hésitez pas non plus à définir la racine du document et les chemins d'accès au journal à votre guise.
# ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/
# for s in nginx php5-fpm mysql; do service $s restart; done
# echo -e "<?php\n\tphpinfo();\n?>" > /var/www/info.php # chown -R www-data: /var/www/
Naviguez maintenant vers ‘http://example.com/info.php’ et vous devriez voir la page d'informations intégrée de PHP.
C'est une bonne idée et recommandé d'installer un moteur de cache afin d'optimiser et de faire fonctionner les choses plus rapidement. Le cache PHP-APC peut considérablement améliorer les performances, alors installez-le en :
# apt-get -y install php5-apc && service php5-fpm restart
Les paramètres APC par défaut sont corrects, mais bien sûr, la personnalisation des options peut considérablement accélérer les choses, alors restez à l'écoute car dans certains des prochains articles, nous approfondirons l'optimisation de la pile LEMP afin que vous puissiez bénéficier de son utilisation sur votre réseau privé virtuel. serveur.
PS. Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.