Maison >Opération et maintenance >Nginx >Comment installer et configurer Nginx dans Ubuntu
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. en 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 apache+mod_php 2.1Nous 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+fastcginginx 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 fastcgiLe 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
en utilisant nginx
Si vous ne pouvez pas y accéder, ne continuez pas. Découvrez quelle en est la raison
Résolvez-le avant de continuer.
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. 🎙 dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors dehors 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, informations de localisation et 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éfixe 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 blocs longs seront préférées et demandé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 ] } location ~* .(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!