apt-get
私の本番環境(Debian Jessie)を実行している標準バージョンのNginx(インストール経由)があります。
これで、ソースから最新バージョンのNginxをコンパイルし、テスト用の追加モジュールを追加したいと思います。実行可能ファイルはどこにでも存在できますが、誤って本番バージョンを上書きしないようにしたいと思います。
知っている:cd
nginxソースディレクトリに移動して、以下を実行する必要があります。
./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
。