Configuration de base PHP 7 et Nginx sur Ubuntu 16.04 Linux

Configuration de base PHP 7 et Nginx sur Ubuntu 16.04 Linux

Nginx dépasse rapidement Apache en tant que serveur Web préféré. Pour les applications Web intégrées dans des langages comme Rails et Python, il est pratiquement omniprésent, mais il est un peu plus lent à rattraper dans le monde PHP. Une partie de la raison à cela est la facilité avec laquelle PHP et Apache vont ensemble. Cependant, PHP et Nginx peuvent coopérer presque aussi facilement, et avec la libération de PHP 7, la combinaison des deux peut être une option assez rapide.

Les packages

Tout d'abord. Mettez à jour Ubuntu et obtenez les packages Nginx et PHP.

# sudo apt-get update && sudo apt-get -y mise à niveau # sudo apt-get -y installer nginx php7.0 PHP7.0-FPM

Lorsque l'installation est terminée, les packages doivent tous être en place et en cours d'exécution. Pour vous assurer que c'est le cas, vous pouvez vérifier que Nginx et les services PHP-FPM s'exécutent dans SystemD.

# Sudo SystemCTl Status Nginx # Sudo SystemCTl Statut PHP7.0-FPM

Si SystemD confirme que les deux services sont en cours d'exécution, le serveur doit réellement être en place et vous devriez être en mesure de voir la page de bienvenue Nginx par défaut en naviguant vers hôte local dans le navigateur.

Configuration

Bien sûr, ce n'est pas près de prêt à héberger quoi que ce soit. Il y a une configuration nécessaire pour pointer Nginx à un contenu réel et améliorer la sécurité. Le répertoire racine des fichiers de configuration Nginx est situé à / etc / nginx. Heureusement, il y a déjà des valeurs par défaut d'Ubuntu qui facilitent le processus de configuration.

Nginx.confli

Le fichier de configuration principal de Nginx est nginx.confli. Ouvrez-le dans l'éditeur de texte de votre choix. Il faudra des autorisations racinaires, donc un éditeur de texte comme VIM sera probablement le meilleur. La configuration par défaut est surtout correcte. Il y a évidemment des choses qui peuvent être faites pour améliorer la vitesse et la sécurité du système, mais la plupart de cela dépasse le cadre de ce tutoriel de base. Si vous souhaitez améliorer les performances, les options GZIP commentées aideront à la compression et pourront accélérer les choses. Du côté de la sécurité, l'ajout des trois lignes suivantes aidera à prévenir l'activité malveillante.

add_header x-frame-options SameRigin; add_header x-content-type-options nosniff; add_header x-xss-protection "1; mode = bloc";


Configuration du site

Une fois les lignes ajoutées, enregistrez et sortez. Il y a deux dossiers dans la racine Nginx, les sites disponibles et compatible avec les sites. les sites disponibles stocke les configurations du site. compatible avec les sites Contient des liens symboliques aux fichiers de configuration dans les sites disponibles. De cette façon, l'activation et la désactivation des sites sont aussi simples que la création et la suppression des liens symboliques.

À l'aide de votre éditeur de texte, créez un fichier à / etc / nginx / sites-disponibles / vopite. Ce fichier contiendra n'importe quelle configuration spécifique au site pour votre nouveau site Web Php 7. L'exemple suivant contient une ventilation dans les commentaires de ce que fait chaque ligne. C'est une configuration assez basique, mais elle fera le travail.

 Server #nginx doit écouter sur le port 80 pour les demandes à vôtre.com écoute 80; server_name vôtre.com; #Create Access and Error Journaux dans / var / log / nginx access_log / var / log / nginx / vopite.Access_log Main; error_log / var / log / nginx / vopite.error_log info; #Nginx devrait chercher dans / var / www / vopite pour votre site Web root / var / www / vopite /; #La page d'accueil de votre site Web est un fichier appelé index.Index de l'indice PHP.PHP; # Spécifie que Nginx recherche .Emplacement des fichiers PHP ~ \.php $ #if un fichier n'est pas trouvé, 404 try_files $ uri = 404; #Include la configuration FastCGI de Nginx inclut / etc / nginx / fastcgi.conf; #Lock pour le FastCGI Process Manager à cet emplacement FastCGI_PASS UNIX: / run / php / php7.0-FPM.chaussette;  

Lorsque ce fichier est créé, enregistrez-le et entrez dans le compatible avec les sites annuaire. À partir de là, créez le lien symbolique dans le fichier que vous venez de créer.

# cd / etc / nginx / sites compatible # sudo ln -s / etc / nginx / sites-disponible / vopite

Php.Sécurité INI

La sécurité est une cible en mouvement, et il est impossible de rester en avance sur toutes les menaces possibles, mais c'est toujours une bonne idée de verrouiller autant que possible toute nouvelle installation de serveur. Il y a quelques ajustements simples qui peuvent être faits au php.ini Fichier de configuration qui aidera à sécuriser PHP. Avec votre éditeur de texte, ouvrez / etc / php / 7.0 / FPM / PHP.ini. C'est un énorme fichier. Encore une fois, vim ou quelque chose avec une fonction de recherche est probablement le meilleur.

Première trouvaille Disable_Functions et ajouter phpinfo, système, courrier, exec à la fin de la chaîne de fonctions qui sont déjà là. Puis trouver file_uploads et le régler sur Désactivé. Ensuite, trouvez SQL.code de coffre et le changer Sur. Enfin, trouvez allow_url_fopen et le régler sur Désactivé. Avant de clôturer le fichier, ajoutez une ligne de plus à la fin.

registre_globals = off

Quand tout est terminé, sauvegarde et ferme. Redémarrer le serveur et il devrait être prêt à partir.

# sudo systemctl redémarrer php7.0-fpm # sudo systemctl redémarrer nginx

Où aller ensuite

Comme il se trouve, le serveur Ubuntu devrait être en mesure d'exécuter la plupart des sites Web PHP. Tous les fichiers PHP placés dans le / var / www / vopite sera exécuté par le serveur. Il cherchera le indice.php le fichier d'abord et le site Web peut se succéder là-bas. Bien sûr, il y a beaucoup plus à faire pour configurer PHP et Nginx pour la vitesse, la sécurité et à peu près n'importe quelle situation de cas spéciale, mais maintenant vous avez un point de départ fort.

Tutoriels Linux connexes:

  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à installer sur Ubuntu 20.04
  • Masterring Bash Script Loops
  • Comment mettre à niveau Ubuntu à partir de 22.04 à 22.dix
  • Ubuntu 20.04 WordPress avec installation Apache
  • Ubuntu 20.04 Guide
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • À quelle fréquence devez-vous redémarrer votre serveur Linux?
  • Comment mettre à niveau Ubuntu à 22.04 LTS Jammy Jellyfish