Maison  >  Article  >  Opération et maintenance  >  Comment installer et configurer Nginx sous Ubuntu

Comment installer et configurer Nginx sous Ubuntu

王林
王林avant
2023-05-17 11:01:341206parcourir

1.nginx introduction

nginx est un serveur http très léger, nginx, qui se prononce comme "moteur x", est un serveur http et

proxy inverse hautes performances, et est également un imap/pop3/smtp serveur proxy.

2. Prise en charge de PHP

Il existe actuellement trois types de prise en charge de PHP par différents serveurs Web :

(1) Implémenté via les modules intégrés du serveur Web, tels que mod_php5 d'Apache, similaire à celui intégré d'Apache. dans mod_perl

Peut prendre en charge Perl.

(2) Implémenté via cgi, cela ressemble au cgi précédent de Perl. L'inconvénient de cette méthode est de mauvaises performances, car chaque fois que le serveur rencontre ces scripts, il doit redémarrer l'analyseur de script pour exécuter le script, puis. convertir les résultats Retour au serveur ;

Par contre, ce n'est pas très sécurisé cet aspect est presque rarement utilisé ;

(3) Le dernier en date s'appelle fastcgi. Le soi-disant fastcgi est une amélioration du cgi. Il adopte généralement une structure c/s. Généralement, le processeur de script

démarrera un ou plusieurs processus démons. Chaque fois que le serveur Web rencontre un script, il est directement transmis au processus fastcgi pour exécution, puis

obtiendra le. le résultat (généralement HTML) est renvoyé au navigateur.

Mode 2.1 apache+mod_php

Nous utilisons le classique apache+mod_php depuis longtemps.

La prise en charge de PHP par Apache est prise en charge via le module Apache. Si vous compilez et installez php à partir du code source, si vous souhaitez qu'Apache prenne en charge

php, vous devez spécifier --with-apxs2=/usr/local/apache2/bin/apxs à l'étape ./configure pour indiquer au compilateur pour passer

apache mod_php5/apxs fournit l'analyse de php5 ; et dans la dernière étape de make install, nous verrons que la bibliothèque de liens dynamiques

libphp5.so est copiée dans le répertoire modules du répertoire d'installation d'apache2, et elle également doit être configuré dans httpd.conf Ajoutez l'instruction loadmodule

au fichier pour charger dynamiquement le module libphp5.so afin de réaliser la prise en charge d'Apache pour php.

2.2 mode nginx+fastcgi

nginx est complètement léger et doit utiliser un processeur fastcgi tiers pour analyser php, donc en fait, il semble que nginx soit

très flexible, il peut être utilisé avec n'importe quel tiers fournit un processeur d'analyse pour implémenter la connexion pour analyser PHP (il est facile à configurer dans nginx.conf).

nginx peut utiliser spwan-fcgi. Dans les versions antérieures, lighttpd doit être installé, mais après la version 9.10, spawn-fcgi peut être installé directement.

Il existe désormais un nouveau processeur PHP fastcgi tiers appelé php-fpm, vous pouvez en apprendre davantage. Cet article est basé sur spawn-fcgi pour implémenter la prise en charge du module

php.

2.3 Installer fastcgi

Le fichier /usr/bin/spawn-fcgi est utilisé pour gérer fastcgi. Il appartenait à l'origine au package lighttpd, mais après la version 9.10, spawn-fcgi

a été séparé dans un package séparé.

(1) Utilisez la commande d'installation en ligne apt-get comme suit :

$sudo apt-get install spawn-fcgi

(2) Le code source est installé comme suit, l'adresse de téléchargement est :

Après décompression, entrez le répertoire et exécutez la commande d'installation suivante :

                                                                                                                                                                                                                                                               $make

3.nginx installation

3.1 Installer nginx

(1) Installation en ligne $sudo apt-get install nginx

La version de nginx est 1.2.1 La structure du fichier après l'installation de nginx sur Ubuntu est à peu près pour :

Tous les fichiers de configuration sont sous /etc/nginx, et chaque hôte virtuel a été organisé sous /etc/nginx/sites-available

Le fichier du programme de démarrage se trouve dans /usr/sbin/nginx

Le log est placé dans /var/log/nginx, ils sont respectivement access.log et error.log

, et le script de démarrage nginx a été créé sous /etc/init.d/. Le répertoire de l'hôte virtuel par défaut est défini dans /. usr /share/nginx/www

(2) Installation du code source

Adresse de téléchargement :

Ce que j'ai téléchargé ici est nginx-1.3.9.tar.gz Le processus d'installation est très simple, comme suit :

$. ./configure

         $make

          $make install

Après une installation réussie, nginx est placé dans le répertoire /usr/local/nginx. Le fichier de configuration principal est nginx.conf dans le répertoire conf. Le fichier de démarrage de

nginx est le fichier nginx dans le répertoire sbin.

3.2 Démarrez nginx

(1) Processus de démarrage de l'installation en ligne

$sudo /etc/init.d/nginx start

(2) Processus de démarrage de l'installation du code source

$cd /usr/local/ Nginx

$ sbin/nginx

peut alors accéder, http://localhost/, tout est normal ! Si vous ne pouvez pas y accéder, ne continuez pas encore, découvrez quelle en est la raison, puis continuez après

l'avoir résolu.

Si Apache est installé en même temps sur votre machine, la méthode d'accès ci-dessus ne peut pas être utilisée et nginx peut ne pas être démarré, car ils utilisent tous le port 80. Nous modifions le port de nginx en 8080 ici,

Ici la principale modification du fichier de configuration nginx nginx.conf, et cette ligne

Listen 80

Modify to

Listen 8080

Ensuite, vous pouvez y accéder, http , http://localhost:8080/ .

3.3 Installer php et mysql

$sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql

3.4 Tester la prise en charge de nginx pour php

(1) Redémarrer ngin x:

utiliser   utiliser                                                                                                                               cgi

Lorsqu'une erreur se produit au démarrage de spawn-fcgi, vérifiez si php-cgi est installé. Si c'est le cas, installez php5-cgi.

                                                      utiliser using php5-cgi

                            utiliser using   Through out   through  ‐ off      ‐                                   out out through Through Through Through off off off ‐ ‐ ‐ down ‐ to

                         .conf, qui définit certains paramètres nécessaires :

include /etc/nginx/sites-enabled/*

On peut voir que le fichier /etc/nginx/sites-enabled/default est également un fichier de configuration principal, qui contient les principales informations de configuration, telles que le serveur et le répertoire. , le nom du serveur, les informations de localisation et les informations sur le serveur.

Pour nginx installé à partir du code source, le fichier de configuration est /usr/local/nginx/conf/nginx.conf.

Ce qui suit explique principalement les règles de correspondance de localisation :

(1) = La commande préfixée correspond strictement à cette requête. Si vous le trouvez, arrêtez de chercher.

(2) Pour les cordes régulières restantes, la correspondance la plus longue sera utilisée en premier. Si la correspondance utilise le préfixe ^~, la recherche s'arrête.

(3) Expressions régulières, selon l'ordre dans le fichier de configuration, la première correspondante est utilisée.

(4) Si la troisième étape produit une correspondance, utilisez ce résultat. Sinon, le résultat de la correspondance de la deuxième étape est utilisé.

Les chaînes régulières et les expressions régulières peuvent être utilisées en emplacement.

​ Si vous utilisez des expressions régulières, vous devez utiliser les règles suivantes :

​ ​ ​ (1)~* Le préfixe sélectionne une correspondance insensible à la casse

​ (2)~ Sélectionnez une correspondance sensible à la casse

​ Exemple :

​ location = / {

  # Correspondance/requête uniquement.

  [ configuration a ]

   }

  location / {

   # Correspond à n'importe quelle requête car toutes les requêtes commencent par /.达 # Mais les règles d'expression régulière et les règles de bloc long seront prioritaires et interrogées.

   [ configuration b ]

  }

  emplacement ^~ /images/ {

    # Faites correspondre toute requête commençant par /images/ et arrêtez la recherche.

​​​​​​ # Aucune expression régulière ne sera testée.

   [ configuration c ]

  }

  emplacement ~* .(gif|jpg|jpeg)$ {

      # Correspond à toute demande se terminant par gif, jpg ou jpeg.

                                                                                                                                                                                                                   # Cependant, toutes les requêtes adressées au répertoire /images/ utiliseront la configuration c.

  [ configuration d ]

  }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer