666 Shares 5164 views

Nginx: Configuration et installation

Qu'est-ce apache, nginx? But, caractéristiques, les options de personnalisation – ce sont les choses que tout développeur web devrait être familier pour tester leurs développements.

A propos de nginx Dites un mot

Cet outil a un principal et plusieurs flux de travail. La première traite de la lecture et la vérification de configuration. Aussi sous son contrôle est la gestion des flux de travail. Le problème du passé – pour traiter les demandes entrantes. Le modèle d'utilisation de nginx qui est basé sur les événements. Les mécanismes sont également utilisés, en fonction du système d'exploitation afin d'obtenir des demandes d'allocation efficace directement entre les processus de travail. Leur nombre est toujours indiqué dans le fichier de configuration. La valeur peut être soit automatiquement fixé ou réglé, guidé par le nombre de coeurs de processeur qui peut être manipulé. Dans la configuration nginx du système et les modules est réalisée en utilisant le fichier de configuration. Par conséquent, si vous avez besoin de changer quelque chose, vous devez chercher son nom. Habituellement, il est dans la directive / etc / nginx (mais l'itinéraire peut varier avec d'autres systèmes) et a une .conf d'extension.

Démarrer, redémarrer, et le journal

Pour ce faire, vous devez faire les courses exécutables. Configuration nginx-serveur est uniquement possible quand il est lancé. La gestion est assurée grâce à appeler l'exécutable avec le paramètre -s. Pour ce faire, utilisez ce qui suit:

le signal de nginx

Dans ce cas, vous pouvez remplacer les commandes suivantes (doit provenir de l'utilisateur qui a lancé l'outil):

  1. Arrêtez. Il est utilisé pour l'arrêt rapide.
  2. Recharger. L'équipe avait besoin de recharger le fichier de configuration. Le fait est que tout changement ne prendra effet que le fichier fonctionne. Et pour prendre effet, un redémarrage est nécessaire. Dès que vous obtenez ce signal, le processus principal commence à vérifier l'exactitude de la composante syntaxique du fichier de configuration et essayer d'appliquer les directives disponibles là-bas. En cas d'échec, il annuler les modifications et travaillera de concert avec les anciens paramètres. Si tout est réussi, il va lancer de nouveaux flux de travail, et l'ancien sera envoyé à la fin de la demande.
  3. Quitter. Utilisé pour l'achèvement déroulement des travaux. Il est utilisé si vous voulez attendre jusqu'à ce que les demandes actuelles finissent maintenues.
  4. Ouvrez à nouveau. fichiers journaux fermer et ouvrir.

L'utilisation des services publics

processus de réglage peut également être effectuée en utilisant des moyens Unix (kill utilitaire sera discuté à titre d'exemple). Ils utilisent généralement un mécanisme pour envoyer le signal directement aux données de processus. Ils sont reliés au moyen d'ID. Ces données sont stockées dans le fichier nginx.pid. Supposons que nous sommes intéressés par le processus №134. Ensuite, pour le bon déroulement de la nécessité de nous envoyer les informations suivantes:

kill -s QUIT 1628

Supposons que nous voulons voir une liste de tous les fichiers ouverts. Nous faisons usage de l'utilitaire ps. L'équipe se penchera également sur la façon suivante:

ps ax | grep nginx

C'est, comme vous pouvez le voir, en utilisant des instruments supplémentaires indiquent qu'il va son application. Et maintenant, concentrons-nous sur la façon engagée nginx configuration.

La structure du fichier de configuration

Installation et configuration nginx inclut le travail avec les modules. Ils sont configurés à l'aide des directives qui sont spécifiées dans le fichier de configuration. Ils peuvent être simples ou bloc. Le premier type est constitué des directives et des paramètres, qui sont séparés par des espaces, et leur extrémité est indiquée par un point-virgule – (;). Le bloc a une structure similaire. Mais au lieu de cette fermeture de directive situé ensemble supplémentaire d'instructions qui sont placés dans les accolades (instructions {}). S'ils peuvent afficher les noms et les autres paramètres du processus, ils sont appelés ces constructions ont le contexte. À titre d'exemple, http, l'emplacement et le serveur.

La distribution du contenu statique

C'est l'un des défis les plus importants auxquels fait face la configuration nginx. Selon la répartition statistique du contenu est des images destinées et pages HTML (non dynamique). Supposons que nous avons besoin d'un seul travail sur la mise en place du nix de cluster nginx. Est-il difficile de le faire? Non, regardons un exemple. Avant de se lancer là-dessus, il est nécessaire de préciser les conditions du problème. Ainsi, selon la demande, les fichiers proviennent de divers répertoires locaux. Ainsi, dans le répertoire / data / www nous avons HTML-documents. Et dans le répertoire / données / images contenant des images. nginx réglage optimal dans ce cas nécessite la modification du fichier de configuration, que vous devez configurer l'unité de serveur dans http. Pour prendre en charge les deux seront utilisés comme emplacement.

Mise en œuvre: serveur

Donc, nous devons d'abord créer des répertoires et se placer dans les fichiers dont ils ont besoin pour développer (en html vous avez besoin d'ajouter du contenu). Ensuite, ouvrez le fichier de configuration. Dans ce document le serveur par défaut a déjà plusieurs blocs, qui pour la plupart sont en commentaire. Pour obtenir des résultats optimaux, ce processus doit être fait par rapport à tous les composants par défaut. Ensuite, ajoutez une nouvelle unité de serveur en utilisant ce code:

http {

serveur {

}

}

Le fichier de configuration peut fonctionner avec plusieurs de ces blocs. Mais ils doivent se distinguer par leurs noms et leurs ports par lesquels les données sont reçues.

Mise en œuvre: emplacement

Déterminé dans le serveur:

lieu / {

root / data / www;

}

La présence du signe « / » est nécessaire pour comparer les données obtenues et voir s'il y a une telle adresse de la demande traitée ici. S'il n'y a aucun problème, puis spécifiez le chemin / data / www dans le fichier désiré qui se trouve dans le système local. S'il y a un match avec quelques blocs, puis sélectionnez celui avec le plus long préfixe. Dans cet exemple, la longueur est égale à un, par exemple, l'utilisation sera exclusivement dans le cas où il n'y a pas de « concurrence ». Maintenant, laissez-le mettra à jour:

emplacement / images / {

root / données;

}

Comment identifier, nous sommes à la recherche d'une image. Maintenant, nous allons combiner tous les développements qui étaient auparavant, et la configuration à ce moment est la suivante:

serveur {

lieu / {

root / data / www;

}

emplacement / images / {

root / données;

}

}

Ceci est une version de travail de ce cas, la norme Port №80. Ce serveur sans aucun problème peut être disponible sur votre ordinateur, si vous allez à l'adresse: http: // localhost /. Comment cela fonctionne?

Le principe de fonctionnement de l'exemple

Alors, quand ils viennent aux questions qui commencent par un / des images, le serveur des fichiers de répertoires correspondant sera envoyé à l'utilisateur. En son absence sera donnée indiquant des informations l'erreur 404. Si elle est effectuée configuration nginx sur l'ordinateur local, la demande http: //localhost/images/example.png nous obtenir un fichier dont l'emplacement /data/images/example.png. Lorsque vous spécifiez une recherche de symbole « / » se déroulera dans le répertoire / data / www. Mais nous avons seulement changé la configuration. Il commence à travailler, il faut redémarrer. Pour ce faire, utilisez le reload du nginx. Dans le cas où le fonctionnement normal est impossible, dans le access.log et les fichiers error.log situé dans la directive / usr / local / nginx / logs, vous pouvez rechercher la cause de la faute.

Création d'un simple serveur proxy

On peut dire à propos de nginx – configuration de cette installation est l'une des applications les plus courantes (et assez facile, en passant). Il utilise le principe du serveur qui reçoit une demande, et les redirige vers les sites nécessaires. Après cela, la réponse est attendue d'eux, ce qui les envoie à celui qui a mis la tâche. Alors regardons un exemple de création d'un point de base. Il traitera les demandes des utilisateurs de services et de leur fournir une image à partir d'un répertoire local. Donc, pour bloquer http ajouter un autre serveur avec le contenu suivant:

serveur {

écouter 8080;

root / data / UP1;

lieu / {

}

}

Maintenant, pour vous déchiffrer: la création d'un serveur simple. Il écoutera le port 8080 ne dispose pas d'écouter, le serveur sera exécuté sur le 80 e. Sera affiché toutes les demandes dans le système de fichiers local qui sont dirigés vers le répertoire / data / UP1 (bien sûr, avant qu'il soit nécessaire de créer). Pour être en mesure de vérifier, il est nécessaire de placer le fichier index.html. En raison de la mise en place de directives dans le contexte du serveur racine, nous pouvons utiliser l'emplacement à tout moment (comme les restrictions d'accès ainsi supprimés). Nous travaillons maintenant pour créer un proxy. Pour que cela fonctionne, nous avons besoin de directive proxy_pass, pour lequel sera précisé le nom du protocole, et l'installation portuaire en tant que paramètres (pour une connexion locale, il ressemblera à http: // localhost: 8080). Obtenez ce résultat:

serveur {

lieu / {

proxy_pass http: // localhost: 8080;

}

emplacement / images / {

root / données;

}

}

Si vous regardez le code et les analyser, vous pouvez remarquer que le deuxième emplacement de l'unité a été modifiée. Ainsi, dans ce cas, il peut fonctionner avec des images typiques des extensions. Un peu différent, il pourrait être affiché comme suit:

emplacement ~ (gif | jpg | png) $ {.

root / données / images;

}

La configuration de proxy finale est la suivante:

serveur {

lieu / {

proxy_pass http: // localhost: 8080 /;

}

emplacement ~ (gif | jpg | png) $ {.

root / données / images;

}

}

Il va filtrer les demandes à la fin de laquelle il y a ces extensions et les envoyer à la personne qui a demandé des fichiers. Ne pas oublier qu'il devra redémarrer si vous voulez vérifier le fichier de configuration. Et croyez-moi, il est juste nginx configuration. Si vous ouvrez la configuration serveur de fichiers « VKontakte » ou toute autre grande entreprise, ils auront le code plus que des mots dans cet article.