nginxの - アップグレード
.Nginxをテストアップグレード
ソースパッケージのインストール(構成2. 3.インストールコンパイラ)
1.まず、アップグレードパッケージ解凍し ます。[root @のvlnx251101〜]#タールXFのnginxの-1.13.4.tar.gz ディレクトリアップグレードパッケージに2.を [ルート@のvlnx251101〜]#のCDのnginxの-1.13.4 / 3.ディレクトリを指定やその他の問題(prce-8.40)は、通常のサポート [vlnx251101のnginx-1.13.4 @ルート] #は./configure --prefix =は/ usr / local / nginxの--user = nginxの--group = nginxの--with-http_ssl_moduleを- ファイルhttp_stub_status_module --with-と-AIO ---と-http_dav_module --with PCRE = .. / PCRE-8.40 メイク#[vlnx251101 nginxのルート-1.13.4 @] 4. [現在のバージョン [ルート@ vlnx251101 nginx- 1.13.4]#は/ usr / local / nginxの/ sbinに/ nginxの-v nginxのバージョン:nginxの/ 1.12.1
5.以前の古いバックアップ [ルート@ mysqlbのnginxの-1.13.4]#mvとは/ usr / local / nginxの/ sbinに/ nginxの/usr/local/nginx/sbin/nginx.bak [ルート@ mysqlbのnginxの-1.13 0.4]#のLS 自動CHANGES.ruのconfigure HTML MakefileのsrcがOBJS CHANGESのconfのcontrib LICENSE男README [ルート@ mysqlb nginxの-1.13.4]#cpはOBJS / nginxのは/ usr / local / nginxの/ sbinに/ 6.ビュー現在のバージョンを [ @ mysqlbのnginxの-1.13.4ルート]#は/ usr / local / nginxの/ sbinに/ nginxの-v nginxのバージョン:nginxの/ 1.13.4
この方法の一つ:
[ルート@ mysqlbのnginxの-1.13.4]#メイクアップ
方法2:
nginxのPIDの1レビュー
[ルート@ mysqlb〜]#psの-ef | グレップのnginxの ルート64600 1 0 16:47?午前〇時00分00秒nginxの:マスター・プロセスは/ usr / local / NGIN / sbinに/ nginxnginx 64601 64600 0午前16時47分?午後12時00分00秒nginxの:ワーカープロセスの ルート70426 58718 0 17:21 PTS / 3午後12時00分00秒のgrep --color =オートnginxの
2. -USR2 PIDを殺す実行
[ルート@ mysqlb〜]#は-USR2 64600殺す [ルート@ mysqlb〜]#psの-ef |を グレップのnginxの ルート64600 1 0 16:47?午前〇時00分00秒nginxの:マスター・プロセスは/ usr / local / NGIN / sbinに/ nginxnginx 64601 64600 0午前16時47分?午前〇時00分00秒nginxの:ワーカープロセス ルート70428 64600 0 17:22?午前〇時00分00秒nginxの:マスター・プロセスは/ usr / local / NGIN / sbinに/ nginxnginx 70429 70428 0 17:22?午後12時00分00秒nginxの:ワーカープロセスの ルート70432 58718 0 17時23 PTS / 3午後12時00分00秒のgrep --color =オートnginxの
この時点で、古いものと新しいバージョンのnginxの例は、同時に実行され、nginxのインスタンスの古いバージョンを段階的に同時処理要求の入力は、それは通常閉鎖する作業のプロセスを開始します、古いマスター・プロセスにウインチ信号を送信する必要があります。
3. -WINCH PIDを殺す実行
[ルート@のmysqlb〜]#は-WINCH 64600を殺す [ルート@ mysqlb〜]#psの-ef | グレップのnginxの ルート64600 1 0 16:47?午前〇時00分00秒nginxの:マスター・プロセスは/ usr / local / NGIN / sbinに/ nginxroot 70428 64600 0午前17時22?午前〇時00分00秒nginxの:マスター・プロセスは/ usr / local / NGIN / sbinに/ nginxnginx 70429 70428 0 17:22?午後12時00分00秒nginxの:ワーカープロセスの ルート70434 58718 0午前17時24分PTS / 3午後12時00分00秒のgrep --color =オートnginxの
あなたが正常にアップグレードしようとするだけでなく、新しいサーバを維持したい場合は、古いマスター・プロセスにシグナルを送るQUITそれが唯一の新しいサーバーが動作していることを残して、終了します。
4. -QUIT PIDを殺す実行
[ルート@のmysqlb〜]#は-QUIT 64600を殺す [ルート@ mysqlb〜]#psの-ef | グレップのnginxの ルート70428 1 0 17時22?00:00:00 nginxの:マスター・プロセスは/ usr / local / NGIN / sbinに/ nginxnginx 70429 70428 0 17:22?午後12時00分00秒nginxの:ワーカープロセスの ルート70436 58718 0 17:26 PTS / 3午後12時00分00秒のgrep --color =オートnginxの
古いバージョンは、第四工程の前にも復元することができ行われていません
[ルート@ vlnx251101〜]#は、rm -rfを/ usr / local / nginxの/ sbinに/ nginxの [ルート@ vlnx251101〜]#cpは/usr/local/nginx/sbin/nginx.bakは/ usr / local / nginxの/ sbinに/ nginxの [ルート@のvlnx251101〜]#は-HUP 44610を殺す [ルート@ vlnx251101〜]#psの-ef | グレップのnginxの ルート44610 1 0午前12時40分?午前〇時00分00秒nginxの:マスタープロセスは/ usr / local / nginxの/ sbinに/ nginxの ルート74746 44610 0 14:38?午前〇時00分00秒nginxの:マスタープロセスは/ usr / local / nginxの/ sbinに/ nginxの nginxの74747 74746 0 14時38分?午前〇時00分00秒nginxの:ワーカープロセス nginxの77990 44610 0午後2時53分?午前0時00分○○秒nginxの:ワーカープロセス [ルート@ vlnx251101〜]#は-QUIT 74746を殺す [ルート@ vlnx251101〜]#psの-ef | grepのnginxの 根44610 1 0 12時40分?午前0時00分○○秒nginxの:マスター・プロセスは/ usr / local / nginxの/ sbinに/ nginxの nginxの77990 44610 0 14:53?午前0時00分○○秒nginxの:ワーカー・プロセス
二つ。LuaJIT即ちC言語インタプリタで書かれたLuaのコードを使用して
1.ダウンロードLuaJIT
yumをインストールwgetのインストール
[ルート@のmysqlb〜]#wgetのhttp://luajit.org/download/LuaJIT-2.0.5.tar.gz
2.コンパイル、インストール
[ルート@ mysqlb〜]#タールXF LuaJIT-2.0.5.tar.gz [ルート@ mysqlb〜]#のCD LuaJIT-2.0.5 / [ルート@ mysqlb LuaJIT-2.0.5]#make installを / PREFIX =は/ usrをローカル/ luajit #電子の[mysqlb LuaJIT-2.0.5 @ルート] "/ luajit / libには/ usr / local /"町> /etc/ld.so.conf.d/usr_local_luajit_lib.conf mysqlb LuaJIT-2.0 @ [ルート。 5]#1のldconfig(刷新配置文件)
3.環境変数の設定
[ルート@ mysqlb LuaJIT-2.0.5]#エクスポートLUAJIT_LIB =は/ usr / local / luajit / LIB [ルート@ mysqlb LuaJIT-2.0.5]#エクスポートLUAJIT_INC =は/ usr / local / luajit /含む/ luajit-2.0
4.Luaプログラム
[ルート@ mysqlb LuaJIT-2.0.5]#のVimのhello.lua [ルート@ mysqlb LuaJIT-2.0.5]#猫hello.luaの 印刷( "Hello World"の) [ルート@ mysqlb LuaJIT-2.0.5]#のLUAハロー.lua のHello World #1のlua [mysqlb LuaJIT-2.0.5 @ルート] のLua 5.1.4著作権(C)1994から2008 Lua.org、PUC-リオ > >印刷( "Hello World"の) のHello World >
5.ダウンロードNDKとLua_module
[ルート@のmysqlb〜]#タールXF ngx_devel_kit-0.3.0.tar [ルート@ mysqlb〜]#タールXFのlua-nginxのモジュール-0.10.10.tar [ルート@のmysqlb〜]#タールXFのnginxの-1.13.4 .tar [ルート@ mysqlb〜] nginxの-1.13.4ます。#cd [ルート@のmysqlbのnginxの-1.13.4]#が作るきれいな のrm -rf MakefileのOBJS [ルート@ mysqlbのnginxの-1.13.4]#./configureを--prefix =は/ usr / local / nginx1134 --user = nginxの--gro アップ= nginxの--with-http_ssl_module --with-http_stub_status_module --with-FILE-AIO --with-http_dav_module --with-PCRE = .. / PCRE -8.40 --add-モジュール= .. / ngx_devel_kit-0.3.0 --add-モジュール= .. / LUA-nginxのモジュール-0.10.10 [ルート@ mysqlb nginxの-1.13.4]#make installを&&作ります
6.変更プロフィール
[ルート@ mysqlbのnginxの-1.13.4]#のVimの/usr/local/nginx1134/conf/nginx.conf
[ルート@のmysqlb nginxの-1.13.4] #エコー'ngx.say( "Hello World"の)'> /tmp/hello.lua
殺す覚えていますか80ポートプロセス
[ルート@ mysqlbのnginxの-1.13.4] #pkillはnginxの
[mysqlb nginxの@ルート-1.13.4]#は/ usr / local / nginx1134 / sbinに/ nginxの-Cは/ usr / local / nginx1134 / confに
/nginx.conf
7.結果
[ルート@のmysqlb nginxの-1.13.4]#カール192.168.88.101/test1 こんにちは [ルート@ mysqlbのnginxの-1.13.4]#カール192.168.88.101/test2 のHello World