Partie 2 : Installer NGINX, MySQL et PHP sur Ubuntu 16.04 Xenial Xerus
Puisque nous utilisons Ubuntu 16.04, vous n’avez pas besoin de construire NGINX à partir de la source pour obtenir les améliorations 1.9+. Au lieu de cela, vous pouvez installer nginx à l’aide de la commande sudo apt-get ci-dessous. Cela installera le package et pré-construira la configuration pour nginx.
sudo apt-get install nginx -y
Si vous souhaitez personnaliser la configuration, vous devez compiler à partir des sources. Pour compiler et installer à partir des sources, je recommande fortement le site de NGINX pour la gamme complète d’options de configuration disponibles.
installer php 7.0
PHP est assez simple à installer et les optimisations sont traitées dans une autre section.
sudo apt-get install php-fpm -y
PHP est assez simple à installer et les optimisations sont traitées dans une autre section.
sudo apt-get install php-fpm -y
Installer MySQL 5.7
Remarques: Il existe deux versions différentes dans les référentiels, assurez-vous d’installer 5.7 à moins que vous ne recherchiez intentionnellement une version plus ancienne.
sudo apt-get install mysql-server-5.7 -y
Vous serez invité à créer un mot de passe root pour MySQL. La protection par mot de passe de votre base de données MySQL est généralement une très bonne idée. Je ne parle pas d’un mot de passe stupide, court et simple, je veux dire un mot de passe sérieux ! MySQL peut facilement être la clé de votre serveur s’il n’est pas sécurisé. Après avoir installé MySQL, vérifions que tout est la bonne version et fonctionne.
nginx-V
Cela devrait ressembler à l’exemple ci-dessous :
Cela vous indique non seulement la version de NGINX, mais également tous les paramètres de configuration utilisés pour la construction. Remarque : HTTP2 (qui remplace SPDY) ne fonctionne qu’avec certaines méthodes de chiffrement dans SSL, donc une configuration supplémentaire est nécessaire pour utiliser HTTP2. Cela sera couvert plus tard. Ensuite, vérifions php
php-v
ça devrait être comme ça
Pour MySQL, vous devez réellement entrer dans la CLI MySQL pour obtenir les informations
mysql -u répertoire racine -p
Affiche quelque chose comme :
arrêter:
q
Il est temps de le visualiser dans un navigateur. Si vous utilisez un serveur DNS, vous pouvez continuer et entrer votre nom d’hôte dans l’enregistrement afin que l’adresse IP puisse être résolue. Entrez l’adresse IP dans votre navigateur :
Maintenant, pour vérifier que PHP fonctionne, nous allons éditer quelques fichiers.
Utilisez votre éditeur de texte préféré (c’est-à-dire vim ou nano)
ajouter index.php à index index.html index.htm index.nginx-debian.html ;
faites-le index index.php index.html index.htm index.nginx-debian.html;
Vous devez également décommenter l’emplacement php (je préfère supprimer les lignes non pertinentes) pour permettre l’exécution de php côté serveur, en le faisant ressembler à ceci
Enregistrez et quittez, puis rechargez NGINX.
redémarrage du service sudo nginx
Maintenant, pour nous assurer que PHP est en cours d’exécution, nous devons ajouter le fichier index.php
Actualisez votre navigateur et vous devriez voir une page détaillant vos paramètres php.
Lorsque vous avez un site en ligne, vous ne souhaitez pas conserver ces informations, alors supprimez le fichier maintenant ou lorsque vous serez prêt.
Il est temps de faire pointer votre domaine (si vous en avez un) vers votre serveur.Si vous ne connaissez pas votre adresse IP, ma façon préférée de la trouver est
curl icanhazip.com
si vous utilisez ipv6
curl -6 icanhazip.com
Mettez à jour l’adresse avec votre fournisseur de domaine ou vos serveurs de noms et vous devriez pouvoir démarrer le site par défaut avec votre domaine (une fois les informations mises à jour).
Pour mettre à jour votre site, il est temps de créer le fichier de configuration de votre site (remplacez example.com par votre domaine).
Astuce : « error_page 404 = /index.php » redirige le serveur vers index.php au lieu de la page d’erreur 404 standard. Le journal des erreurs ne peut pas utiliser regex, qui a vraiment pensé à rechercher le problème de toute façon. Par conséquent, il n’y a pas de $server_name pour séparer les journaux d’erreurs.
Vous pouvez également installer SSL sur nginx gratuitement. Cliquez sur (ici)