Debian には複数のバージョンの Nginx があります

Debian には複数のバージョンの Nginx があります

apt-get私の本番環境(Debian Jessie)を実行している標準バージョンのNginx(インストール経由)があります。

これで、ソースから最新バージョンのNginxをコンパイルし、テスト用の追加モジュールを追加したいと思います。実行可能ファイルはどこにでも存在できますが、誤って本番バージョンを上書きしないようにしたいと思います。

知っている:cdnginxソースディレクトリに移動して、以下を実行する必要があります。

./configure --add-module=/path/to/some/module
make
make install

私が知らないことは:本番バージョンの上にテストバージョンがインストールされていないことを確認する方法、または私が指定した特定の場所にインストールする方法。

(makeのマニュアルページを読んでみましたが、決定的な答えが得られませんでした。ソースからコンパイルする経験はありません。)

答え1

代わりに、インストール先を./configureオプションとして指定できますmake。デフォルトでは、nginxはそれ自体でプレフィックスを構成するため、/usr/local/nginxパッケージのバージョンを上書きする危険性はなく、ユーザーは直接パスを指定できます。

./configure --prefix=/your/installation/path

デフォルトのnginx設定は、プレフィックスの外側にファイルをインストールしません。例えば存在する/etc

インストールプロセスは、次の文書で説明されています。nginxウェブサイト

ソフトウェアをソースからインストールしても安全であることを確認する一般的な戦略は、以下を実行することです。インストールするステップと-nオプション(Makeが実際に何もしないように指示する):

make -n install

すべてのタスクが一覧表示されます。会議実際のインストールが完了しました。 (一部のビルドシステムでは、後続のインストールステップは以前のインストールステップの変更に依存するため、このオプションは中断されます。nginxのビルドはうまく機能します。)

もちろん、本番システムに触れる前に、まず他のシステムでソースをビルドしてインストールする手順を試してください。

答え2

./configure次のオプションを使用して実行する必要があります--sbin-path=

--sbin-パス=パス- nginx実行可能ファイルの名前を設定します。この名前はインストール中にのみ使用されます。デフォルトでは、ファイル名はprefix/sbin/nginx

答え3

もう一つのアイデアはアンシプール構成します。その後、新しい仮想マシンを作成できます(例:徒歩旅行者)そしてAnsible設定をロールアウトします(いわゆるスクリプト)。

関連情報