web-dev-qa-db-ja.com

apt-getを使用したオプションのNginxモジュールのインストール

現在、Nginxサイトの指示に従ってNginxをインストールしています。

nginx=stable
Sudo su -
add-apt-repository ppa:nginx/$nginx
apt-get update 
apt-get install

私はNginxを設定しましたが、しばらくの間、うまく動作しています。ここで、いくつかのカスタムモジュールを追加したいと思います。たとえば、 pload Progress Module です。このモジュールの説明では、--add-module=path/to/nginx_uploadprogress_module./configureコマンドに追加するように指示されています。ただし、ソースからNginxをインストールしていません。

この状況を処理する最良の方法は何ですか? APTをソースからコンパイルしてオプションを./configureに渡すように指示することは可能ですか?既存のインストールに対してコンパイルできますか?パスについてはどうですか?どのように一致させるのですか?またはAPT管理バージョンを削除して最初からやり直す必要がありますか?

40
Michelle Tilley

Dpkg-devをインストールします。

Sudo apt-get install dpkg-dev

リポジトリを追加:

Sudo add-apt-repository ppa:nginx/stable

編集/etc/apt/sources.list.d/nginx-stable-lucid.list、dpkg-srcを追加:

deb http://ppa.launchpad.net/nginx/stable/ubuntu lucid main
deb-src http://ppa.launchpad.net/nginx/stable/ubuntu lucid main

注:(前の手順は、Ubuntu> = 12.04ですでに自動的に実行されている可能性があります。また、バージョンを反映するようにlucidを変更してください)

パッケージインデックスファイルを再同期します。

Sudo apt-get update

ソースを取得:

apt-get source nginx

ビルドの依存関係:

Sudo apt-get build-dep nginx

Nginx-0.8.54/debian/rulesを編集:

config.status.full: config.env.full config.sub config.guess
...
--add-module=path/to/nginx_uploadprogress_module

ビルドパッケージ:

cd nginx-0.8.54 && dpkg-buildpackage -b

パッケージをインストールします。

Sudo dpkg --install nginx-common_1.2.4-2ubuntu0ppa1~precise_all.deb

Sudo dpkg --install nginx-full_1.2.4-2ubuntu0ppa1~precise_AMD64.deb
58
alvosu

Debianではsqueezeから および onericから Ubuntuでは、 someheaders-more-moduleのように)が必要です

apt-get install nginx-extras
29

追加/(サードパーティモジュール)を追加する場合は、ソースからNginxをインストールする必要があります。ソース経由でインストールした場合、Nginxはサービスとして使用できず、logrotateはNginxのセットアップを取得しません。これに従って メソッド をインストールすると、apt-getを介してインストールすることで得られるすべての機能がインストールされます。

1

読みやすい甘い記事 here はnginxへのモジュールのコンパイルに関する詳細情報を説明します。基本的に、モジュールをインストールするたびにnginxを再コンパイルする必要があります。

これと同様 メソッド も機能します。

 wget 'http://nginx.org/download/nginx-1.9.3.tar.gz'
 tar -xzvf nginx-1.9.3.tar.gz 
 cd nginx-1.9.3 /

#ここでは、nginxを/opt/nginx/.
にインストールすると想定しています。/configure --prefix =/opt/nginx\
 --add-module =/path/to/headers-more-nginx-module 
 make 
 make install 
0
ElvinD