ホームページ >運用・保守 >Linuxの運用と保守 >nginxをスムーズにアップグレードするための操作チュートリアル

nginxをスムーズにアップグレードするための操作チュートリアル

巴扎黑
巴扎黑オリジナル
2017-07-19 11:13:291671ブラウズ

スムーズなアップグレードの概要
Nginx は、スムーズなアップグレードの実現に便利に役立ちます。原理を簡単にまとめると以下の通りです:
(1) 古いプロセスを停止せずに新しいプロセスを開始します。
(2) 古いプロセスはまだ処理されていないリクエストの処理を担当しますが、処理リクエストは受け付けなくなります。
(3) 新しいプロセスは新しいリクエストを受け入れます。
(4) すべてのリクエストを処理し、すべての接続を閉じた後、古いプロセスが停止します。
これにより、スムーズなアップグレードが簡単に実現できます。一般に、Nginx をアップグレードする必要がある場合は 2 つの状況があります。1 つは Nginx のバージョンを実際にアップグレードする場合、もう 1 つは新しいモジュールを Nginx に追加する場合です。

アップグレードプロセス
具体的な操作も次のように非常に簡単です:

(0) 現在のバージョンを表示します
Nginx 実行可能ファイルが保存されているディレクトリに入力します:

次のようにコードをコピーします:

./nginx - V


(1) 新しい Nginx バージョンをダウンロードしてコンパイルします。

次のようにコードをコピーします:

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


make installしないように注意してください


Download:

[root@liuawblizfpws~]#wget *.*.tar.gz (バージョン番号が変更されました)

Unzip:

[root@liuawblizfpws ~]#tar zxvf nginx-0.*.*.tar.gz (バージョン番号が変更されました)

ちなみに、 nginx のバージョン番号は、安全性を考慮して変更されました。

ソースコードファイルを変更します:

[root@liuawblizfpws ~]#vim nginx-0.*.*/src/core/nginx.h
#define NGINX_VERSION "*.$.&" (バージョン番号)
#define NGINX_VER "net/" NGINX_VERSION (サーバー名)
再コンパイルする前に、以前の nginx インストール情報を確認する必要があります:
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/nginx -V
情報を取得します (パスは人によって異なります):
nginx: 引数を設定します: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with -http_ssl_module
Compile しますが、インストールされていません。コンパイル ディレクトリの下の objs ディレクトリにある nginx ファイルが新しい実行可能ファイルです:
[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
元のnginxをバックアップしますfile:
[ root@liuawblizfpws ~]#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
コンパイルされた nginx ファイルを対応する実行パスにコピーします:
cp ~ /nginx-0.*.*/objs/nginx /usr/local/nginx/sbin/nginx
スムーズなアップグレードを避けるためのテスト:
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/ nginx -t
nginx: 設定ファイル /usr/local/nginx/conf/nginx.conf の構文は問題ありません
nginx: 設定ファイル /usr/local/nginx/conf/nginx.conf テストは成功しました
test合格した場合は、nginx.pid を nginx.pid.oldbin に変更し、新しい nginx を開始します:
[root@liuawblizfpws ~]#kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
Exit元の nginx:
[root@liuawblizfpws ~]#kill -QUIT `cat /usr/loca/nginx/logs/nginx.pid.oldbin`
Check:
[root@liuawblizfpws ~]#curl -I netonline .me
HTTP/1.1 200 OK
サーバー: net/*.$.&
日付: 木、09 Dec 2010 05:13:36 GMT

以上がnginxをスムーズにアップグレードするための操作チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。