Maison >Opération et maintenance >exploitation et maintenance Linux >Tutoriel d'utilisation pour une mise à niveau fluide de nginx

Tutoriel d'utilisation pour une mise à niveau fluide de nginx

巴扎黑
巴扎黑original
2017-07-19 11:13:291666parcourir

Aperçu de la mise à niveau en douceur
Nginx nous aide facilement à réaliser une mise à niveau en douceur. Le principe se résume simplement ainsi :
(1) Démarrer un nouveau processus sans arrêter l'ancien processus.
(2) L'ancien processus se charge de traiter les demandes encore non traitées, mais n'accepte plus les demandes de traitement.
(3) Le nouveau processus accepte les nouvelles demandes.
(4) L'ancien processus s'arrête après avoir traité toutes les demandes et fermé toutes les connexions.
Cela facilite la réalisation de mises à niveau fluides. Généralement, il existe deux situations dans lesquelles vous devez mettre à niveau Nginx. L'une consiste à réellement mettre à niveau la version de Nginx et l'autre consiste à ajouter un nouveau module à Nginx.

Processus de mise à niveau
L'opération spécifique est également très simple, comme suit :

(0) Afficher la version actuelle
Entrez dans le répertoire où se trouve le fichier exécutable Nginx est stocké :

Copiez le code comme suit :

./nginx -V


(1) Téléchargez le nouveau Version Nginx et compilation .

Copiez le code comme suit :

wget nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
cd nginx - 1.0.11
./configure --add-module=/customized_module_0 --add-module=/customized_module_1
make


Attention à ne pas faire installer


Télécharger :

[root@liuawblizfpws~]#wget *.*.tar.gz (le numéro de version a été modifié)

Décompresser :

[root@liuawblizfpws ~]#tar zxvf nginx-0.*.*.tar.gz (le numéro de version a été modifié)

D'ailleurs, le numéro de version de nginx est ici modifié, ce qui joue un certain rôle de sécurité.

Modifiez le fichier de code source :

[root@liuawblizfpws ~]#vim nginx-0.*.*/src/core/nginx.h
#define NGINX_VERSION "*.$.&" (numéro de version)
#define NGINX_VER "net/" NGINX_VERSION (nom du serveur)
Vous devez vérifier les informations d'installation précédentes de nginx avant de recompiler :
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/nginx -V
Obtenir des informations (le chemin varie d'une personne à l'autre) :
nginx : configurez les arguments : --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
Compiler, mais pas installer dans ; le répertoire de compilation Le fichier nginx dans le répertoire objs est le nouveau fichier exécutable :
[root@liuawblizfpws nginx-0.*.*]#./configure --user=www --group= www -- prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@liuawblizfpws nginx-0.*.*]#make
Sauvegardez le fichier nginx d'origine :
[root@liuawblizfpws ~]#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
will ont été compilés Copiez le fichier nginx dans le chemin d'exécution correspondant :
cp ~/nginx-0.*.*/objs/nginx /usr/local/nginx/sbin/nginx
Test pour éviter les échecs Mise à niveau en douceur :
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/nginx -t
nginx : le fichier de configuration /usr/local/ La syntaxe nginx/conf /nginx.conf est correcte
nginx : fichier de configuration /usr/local/nginx/conf/nginx.conf le test est réussi
Si le test réussit, modifiez nginx.pid à votre nginx.pid.oldbin, tout en démarrant un nouveau nginx :
[root@liuawblizfpws ~]#kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
Quittez nginx d'origine :
[root@liuawblizfpws ~]#kill -QUIT `cat /usr/loca/nginx/logs/nginx.pid.oldbin`
Vérifiez :
[root@liuawblizfpws ~]#curl -I netonline.me
HTTP/1.1 200 OK
Serveur : net/*.$.&
Date : jeu. 9 décembre 2010 05:13:36 GMT

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn