1

ライブ Web サイトで nginx を実行していますが、いくつかの追加機能を追加するために再コンパイルする必要があります。私が使用するコマンドは次のとおりです。

make clean
./configure -- BLA BLA BLA
make
make install

念のため言っておきますが、「 」を実行するまで nginx を停止する必要はありませんmake installよね? 「make」コマンドが最も時間がかかります。Nginx をすぐに停止する必要がないことを 100% 確信したいだけです。

確認のために言うと、これは実際には 1 秒か 2 秒のダウンタイムを意味します。

make clean
./configure -- BLA BLA BLA
make
/etc/init.d/nginx stop
make install
/etc/init.d/nginx start
4

2 に答える 2

2

そうです、make はリンクとコンパイルを行うだけで、make install はそれをシステムにインストールします。

于 2012-10-31T10:37:06.717 に答える
0

ダウンタイムは必要ありません。実行可能ファイルをコンパイルして置き換えます。次に、nginx をトリガーして新しいマスターを生成します。プロセスはここで説明されています: http://nginx.org/en/docs/control.html#upgrade

New Version - Master - start:
kill -s USR2 `cat /var/run/nginx.pid`

Old Version - Worker - stop:
kill -s WINCH `cat /var/run/nginx.pid.oldbin`
Old Version - Master - stop:
kill -s QUIT `cat /var/run/nginx.pid.oldbin`

古いバージョンに戻したい場合:

Old Version - Worker - start:
kill -s HUP `cat /var/run/nginx.pid.oldbin`
New Version - Master - stop:
kill -s QUIT `cat /var/run/nginx.pid`

ファイルを置き換えることができないというエラーが表示される場合は、コンパイル オプションが間違っています。

--sbin-path=/usr/sbin/nginx
于 2016-03-10T12:31:31.947 に答える