Configurer NGINX, PHP-FPM et MariaDB sur Debian 8

Ce guide vous montrera comment installer et configurer correctement une pile LAMP "alternative" sur Debian 8 en utilisant NGINX, PHP Fast Process Manager et MariaDB.

NGINX

NGINX est un «proxy inverse d'abord, un serveur Web ensuite». C'est une alternative populaire et croissante à Apache, offrant une plus grande flexibilité et de meilleures performances dans de nombreux cas. Dans ce didacticiel, nous allons l'utiliser comme serveur Web.

Lancez votre client SSH préféré et connectez-vous à votre serveur. Pour les utilisateurs de Windows, "PuTTY" est un client SSH léger et gratuit. Les utilisateurs Linux et Mac peuvent utiliser le terminal inclus par défaut avec leur système d'exploitation. Pour ce didacticiel, nous supposerons que vous êtes connecté à votre serveur en tant qu'utilisateur "root".

Pour commencer, assurons-nous simplement que tout est à jour. Tapez ce qui suit pour rechercher et installer les mises à jour.

apt-get update && apt-get upgrade

Nous éditerons nos fichiers de configuration dans vim. Vim n'est pas installé par défaut, alors installons-le!

apt-get install vim

Il est maintenant temps d'installer NGINX. Nous souhaitons installer la dernière version de NGINX à partir du référentiel Debian NGINX officiel.

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

Maintenant, nous devons modifier la configuration de NGINX. Accédez au répertoire de configuration.

cd /etc/nginx

Une leçon vim rapide

Utilisez les touches fléchées pour naviguer dans le document texte. Pour commencer à apporter des modifications, appuyez sur le bouton "Insérer" de votre clavier. Si votre clavier n'a pas de bouton d'insertion, appuyez sur la touche "i". Vers le bas de vim, vous remarquerez qu'il dit maintenant "INSÉRER". Le mode d'insertion vous permettra de supprimer via le retour arrière ou d'insérer de nouveaux caractères en les tapant.

Ouvrons notre nginx.confet fouinons:

vi nginx.conf

Modifions l'utilisateur par défaut, vérifions le nombre de processus de travail et désactivons le journal d'accès.

Les directives "user" et "worker_processes" sont proches du sommet. Essayez les valeurs ci-dessous:

Notez que vous souhaiterez définir "worker_processes" sur le nombre de cœurs de processeur disponibles sur votre serveur. Dans cet exemple, nous avons 1, qui est la valeur par défaut NGINX.

user www-data;
worker_processes 1;

Nous souhaitons également désactiver le journal d'accès, afin d'améliorer les performances d'E / S. Naviguez vers le bas avec les touches fléchées jusqu'à ce que vous trouviez "access_log". Modifiez-le comme suit:

access_log off;

Et enfin, nous allons définir le "client_max_body_size" pour correspondre à certaines modifications apportées à PHP plus tard. Sauvons le problème et faisons-le maintenant. Ajoutez juste en dessous de "access_log":

client_max_body_size 12m;

Une fois l'édition terminée, appuyez sur "Esc" sur votre clavier. Vim ne dira plus "INSÉRER" vers le bas du fichier.

Pour enregistrer nos modifications et quitter vim, appuyez sur la séquence de touches suivante:

SHIFT :(colon)
wq
Press "Enter"

Le vim kung fu ci-dessus écrira vos modifications sur le disque et quittera vim, vous ramenant dans le shell bash.

Maintenant, nous devons faire une configuration spécifique au site pour notre exemple! Nous supprimerons également les autres exemples de configurations. Essayez ce qui suit:

cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf

Nous allons faire un court et simple www.confbasé sur la configuration NGINX par défaut, mais avec quelques ajustements. Appuyez sur insérer et vous pouvez copier / coller l'exemple ci-dessous.

N'oubliez pas d'éditer la directive "root" pour pointer vers le répertoire racine de votre site web, et "server_name" pour correspondre à votre domaine.

server {
    listen 80;

    root /path/to/your/website;
    index index.php index.html index.htm;

    server_name mydomainname.com www.mydomainname.com;

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

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

Nous avons maintenant terminé avec la section de configuration NGINX de ce tutoriel. Nous redémarrerons NGINX dans un petit moment, juste après avoir installé PHP.

PHP-FPM

PHP-FPM est le gestionnaire de processus rapide PHP. Il est requis lors de l'utilisation de NGINX, car contrairement à Apache, NGINX n'exécute pas PHP en tant que module. Cela a été fait pour réduire l'empreinte mémoire de NGINX. Rappelez-vous cette partie sur NGINX étant un proxy inverse avant tout? Voici où cela entre en jeu; Les requêtes PHP envoyées à NGINX sont transmises à PHP-FPM pour faire le gros du travail.

Installons PHP-FPM.

apt-get install php5-fpm php5-mysqlnd

Notez que selon ce dont vos scripts PHP ont besoin, vous devrez peut-être installer d'autres modules PHP non inclus par défaut. Les plus populaires sont php5-gdet php5-mcrypt. Vous pouvez les installer avec la commande suivante.

apt-get install php5-module_name_here

Maintenant que PHP-FPM est installé, nous souhaitons effectuer quelques modifications rapides pour améliorer la sécurité et les fonctionnalités.

cd /etc/php5/fpm
vi php.ini

Il est temps pour une autre leçon vim rapide! Le php.inifichier est absolument énorme. La recherche de quelques valeurs clés prendra toute la journée. Donc, puisque nous savons ce que nous recherchons, nous allons chercher. Tapez ce qui suit:

/upload_max_filesize

Celui-ci, par défaut, est défini sur 2 mégaoctets. Si vous souhaitez autoriser les utilisateurs à télécharger des fichiers dans vos applications PHP supérieurs à 2 mégaoctets, vous devrez changer cela. 10M est probablement une valeur sûre pour l'instant, mais des valeurs plus élevées sont également acceptables. Ce paramètre variera selon les configurations. Par souci de tutoriel:

upload_max_filesize = 10M

Encore une faille de sécurité flagrante. Faites défiler un peu plus loin ou recherchez. Nous devons désactiver "allow_url_fopen" sur "Off". Cela empêchera PHP d'exécuter des fichiers PHP hébergés à distance, autrement connu sous le nom de RFI (Remote File Inclusion). De nombreux serveurs sont piratés de cette façon.

allow_url_fopen = Off

Et parce que nous avons changé "upload_max_filesize", nous devons maintenant changer "post_max_size". Cette valeur devrait être un peu plus grande que "upload_max_filesize", car nous devons prendre en compte les frais généraux associés à nos demandes traitées par PHP.

Cherchons une fois de plus avec "/ post_max_size".

post_max_size = 12M

Notez que vous devrez revenir à votre configuration NGINX et modifier "client_max_body_size" si vous décidez d'utiliser des valeurs plus grandes que ces exemples pour la taille de vos fichiers PHP.

C'est tout pour l'instant. Assurez-vous que vous n'êtes pas en mode édition en appuyant sur "Echap". Enregistrez et quittez vim.

SHIFT :(colon)
wq
Press 'Enter'

La configuration de PHP-FPM est terminée.

MariaDB

Même dans un monde en constante évolution vers NoSQL ou MongoDB, certains d'entre nous trouvent toujours plus facile de s'en tenir à MySQL. Cela est particulièrement vrai pour de nombreuses applications Web. Heureusement, il existe maintenant un certain nombre de remplacements «drop-in» pour Oracle MySQL. Debian 8 inclut désormais la très populaire MariaDB. MariaDB est un fork d'Oracle MySQL basé sur la version 5.5. MariaDB, à toutes fins utiles, appelle cela MariaDB 10. Il est considéré comme un remplacement COMPLET pour Oracle MySQL. Considérez-le comme MySQL dans l'âme, sans la marque Oracle et quelques nouvelles fonctionnalités.

apt-get install mariadb-server

IMPORTANT: vous devez absolument, positivement, choisir un mot de passe root fort pour MariaDB. Enregistrez-le dans un endroit sûr. Vous devrez le saisir deux fois lors de l'installation de MariaDB.

Modifions légèrement la configuration de MariaDB. Nous allons désactiver l'écoute de MariaDB via l'interface réseau. Au lieu de cela, comme avec PHP-FPM plus tôt, nous nous en tiendrons uniquement à un socket UNIX. La plupart des applications PHP devraient prendre en charge la connexion au serveur de base de données via un socket UNIX au lieu de l'interface de bouclage locale.

cd /etc/mysql
vi my.cnf

Recherchez "bind-address = 127.0.0.1". Commentez cette ligne. Au-dessus ou en dessous, ajoutez "skip-networking".

#bind-address = 127.0.0.1
skip-networking

Nous avons fini avec MariaDB! Finalement, vous souhaiterez peut-être modifier votre configuration MariaDB selon que vous utiliserez principalement les moteurs de stockage MyISAM ou InnoDB, mais également en fonction du nombre de cœurs de processeur et de RAM disponibles pour votre serveur. Les valeurs par défaut nous permettront d'être opérationnels dans l'intervalle.

Redémarrons chacun des services pour lesquels les fichiers de configuration ont été modifiés dans ce tutoriel.

systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service

C'est tout - nous avons tous terminé. À ce stade, vous disposez d'un serveur LNMP (LEMP) entièrement fonctionnel en ligne!

Ce guide devait servir de règle générale pour commencer avec les services ci-dessus avec un ajustement minimal. Pour plus d'informations, lisez la documentation des packages ci-dessus. Bien que cet exemple de configuration devrait fonctionner correctement dès la sortie de l'emballage, des ajustements peuvent et devront probablement être effectués pour mieux répondre à vos besoins.

Domaines de recherche recommandés:

  • Utilisation et modification du contrôle du cache de NGINX.
  • Paramètres du gestionnaire de tâches PHP-FPM "statique", "dynamique" ou "ondemand".
  • Optimisation des performances de MariaDB pour tirer le meilleur parti de votre serveur de base de données.


Leave a Comment

Configurez votre propre réseau privé avec OpenVPN

Configurez votre propre réseau privé avec OpenVPN

Vultr vous offre une connectivité réseau privée impressionnante pour les serveurs fonctionnant au même endroit. Mais parfois, vous voulez deux serveurs dans des pays différents

Configurer un Chroot sur Debian

Configurer un Chroot sur Debian

Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu

Comment installer PiVPN sur Debian

Comment installer PiVPN sur Debian

Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t

Comment installer Kanboard sur Debian 9

Comment installer Kanboard sur Debian 9

Vous utilisez un système différent? Introduction Kanboard est un logiciel de gestion de projet gratuit et open source conçu pour faciliter et visualiser

Comment installer Neos CMS sur Debian 9

Comment installer Neos CMS sur Debian 9

Vous utilisez un système différent? Neos est une plate-forme dapplication de contenu avec un CMS et un cadre dapplication en son cœur. Ce guide vous montrera comment installer

Configurer Cacti sur Debian Jessie

Configurer Cacti sur Debian Jessie

Introduction Cacti est un outil de surveillance et de création de graphiques open source entièrement basé sur les données RRD. Grâce à Cacti, vous pouvez surveiller presque nimporte quel type de périphérique

Configurer Teamspeak 3 sur Debian Wheezy

Configurer Teamspeak 3 sur Debian Wheezy

Cet article vous montrera comment exécuter un serveur Teamspeak 3 sous Debian Wheezy. Avant de commencer, vous devez préparer votre VPS. je

Comment installer Java 8 et DCEVM sur Debian 8 (Jessie)

Comment installer Java 8 et DCEVM sur Debian 8 (Jessie)

Java est un langage de programmation / machine virtuelle indépendant de la plate-forme. Dans ce tutoriel, nous allons installer limplémentation OpenJDK de Java 8 sur une Debian

Utiliser les vues MySQL sur Debian 7

Utiliser les vues MySQL sur Debian 7

Introduction MySQL a une grande fonctionnalité connue sous le nom de vues. Les vues sont des requêtes stockées. Considérez-les comme un alias pour une requête autrement longue. Dans ce guide,

Comment installer ModSecurity pour Nginx sur CentOS 7, Debian 8 et Ubuntu 16.04

Comment installer ModSecurity pour Nginx sur CentOS 7, Debian 8 et Ubuntu 16.04

ModSecurity est un module de pare-feu dapplications Web open source (WAF) qui est idéal pour protéger Apache, Nginx et IIS contre diverses cyberattaques qui ciblent

Comment installer Matomo Analytics sur Debian 9

Comment installer Matomo Analytics sur Debian 9

Vous utilisez un système différent? Matomo (anciennement Piwik) est une plate-forme danalyse open source, une alternative ouverte à Google Analytics. La source Matomo est hébergée o

Installer Hiawatha Web Server avec PHP-FPM et MySQL sur Debian

Installer Hiawatha Web Server avec PHP-FPM et MySQL sur Debian

Hiawatha est un serveur Web qui a à lesprit la simplicité, la facilité dutilisation et la sécurité. Cest la solution parfaite pour les petits serveurs, le matériel plus ancien ou lembedde

Surveiller létat du serveur Debian avec Munin

Surveiller létat du serveur Debian avec Munin

Munin est un outil de surveillance pour étudier les processus et les ressources de votre machine et présente les informations sous forme de graphiques via une interface Web. Utilisez le suivi

Comment installer le forum NodeBB sur Debian 9

Comment installer le forum NodeBB sur Debian 9

Vous utilisez un système différent? NodeBB est un forum basé sur Node.js. Il utilise des sockets Web pour des interactions instantanées et des notifications en temps réel. Code source NodeBB i

Installer Plesk sur Debian 8 (Jessie)

Installer Plesk sur Debian 8 (Jessie)

Vous utilisez un système différent? Plesk est un panneau de contrôle dhôte Web propriétaire qui permet aux utilisateurs dadministrer leurs sites Web personnels et / ou clients, bases de données

Comment installer Koel sur Debian 9

Comment installer Koel sur Debian 9

Vous utilisez un système différent? Koel est une simple application de streaming audio personnel basée sur le Web écrite en Vue côté client et Laravel côté serveur. Koe

Session collante avec Docker Swarm (CE) sur Debian 9

Session collante avec Docker Swarm (CE) sur Debian 9

Vous utilisez un système différent? Introduction Docker Swarm transforme vos serveurs individuels en un cluster dordinateurs; faciliter la mise à léchelle, la haute disponibilité et

Comment installer Paste 2.1 sur un VPS Debian 9 LAMP

Comment installer Paste 2.1 sur un VPS Debian 9 LAMP

Vous utilisez un système différent? Paste 2.1 est une application pastebin simple et flexible, gratuite et open source pour stocker du code, du texte et plus encore. Cétait initial

Forcer Apt-Get à IPv4 ou IPv6 sur Ubuntu ou Debian

Forcer Apt-Get à IPv4 ou IPv6 sur Ubuntu ou Debian

Ici, sur Vultr, nous avons la possibilité dactiver IPv6 sur tous les VPS déployables. Mais avec cela, certains programmes et commandes peuvent préférer lun ou lautre avec

Comment configurer Snort sur Debian

Comment configurer Snort sur Debian

Snort est un système gratuit de détection dintrusion réseau (IDS). En termes moins officiels, il vous permet de surveiller votre réseau pour détecter toute activité suspecte en temps réel

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.