情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

Nginxモジュール開発メモ

Nginx (11)

Nginxのモジュール開発についてのメモ書きです。今後追加することが当分なさそうなので、現在の状態を公開します(公開できない部分は削除済み)。

謎のtフォルダと.tファイル(テスト方法付き)

公開されているモジュールには謎のtフォルダと拡張子.tのファイルがあるが、これはテスト用のファイルらしい。

最低限のモジュール構成とビルド

新しい単純なディレクティブを1つ定義しただけのモジュールとビルド方法。ソースコードはGitHubのリンクをたどる。

公式からリンクされている開発者向け資料

何が作れるのか、が把握しやすい。しかし、書かれたのが2007年。

Nginx Developers Kit

Nginx Development Kit - an Nginx module that adds additional generic tools that module developers can use in their own modules 引用元

(割と)簡単なモジュール

公式のサードパーティー製モジュールのページ

モジュールの中にはリンク切れも。

このページの更新されていない具合に、Nginxモジュール開発の寂れ具合を感じる。

Nginxのビルド

http://nginx.org/en/docs/configure.html

「mkdir ~/src」「cd src」「git clone https://did2@github.com/did2/nginx.git」「cd nginx」「./configure --prefix=/home/did2/bin/nginx」

./configure: error: C compiler cc is not found

が出たので、「sudo apt-get install gcc」

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre= option.

が出たので、「sudo apt-get install libpcre3 libpcre3-dev」

「sudo useradd -s /sbin/nologin nginx」「sudo mkdir /var/{log,run}/nginx」「sudo chown nginx:nginx /var/{log,run}/nginx/」

http://www.zlib.net/

「cd /usr/local/src」「sudo wget "http://zlib.net/zlib-1.2.8.tar.gz"」「sudo tar zxvf zlib-1.2.8.tar.gz」

「sudo wget "http://www.openssl.org/source/openssl-1.0.1i.tar.gz"」「sudo tar zxvf openssl-1.0.1i.tar.gz」

「./configure --prefix=/home/did2/bin/nginx --user=nginx --group=nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/run/nginx/nginx.log --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-openssl=/usr/local/src/openssl-1.0.1i --with-zlib=/usr/local/src/zlib-1.2.8 --with-http_ssl_module --with-http_realip_module」

「make」で「zsh: command not found: make」が出たので「sudo apt-get install make」。

「sudo make」「sudo make install」

設定ファイルは「~/bin/nginx/conf/nginx.conf」に。

Ubuntuでの起動スクリプトは「http://wiki.nginx.org/Nginx-init-ubuntu」に。「https://raw.githubusercontent.com/JasonGiedymin/nginx-init-ubuntu/master/nginx」からダウンロード可能。

「cd ~/src/nginx」「wget -O nginx-init-ubuntu https://raw.githubusercontent.com/JasonGiedymin/nginx-init-ubuntu/master/nginx」「chmod u+x nginx-init-ubuntu」「vim nginx-init-ubuntu」

「NGINXPATH=/home/did2/bin/nginx」「lockfile=/var/run/nginx/nginx.lock」

「sudo ./nginx-init-ubuntu start」

Proxyモジュールについて

本:http://www.it-ebooks.info/book/3326/

(以降削除)

コメント(0)

新しいコメントを投稿