nginx
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
nginx [2011/09/19 13:59] – nullpon | nginx [2020/05/29 09:30] (現在) – nullpon | ||
---|---|---|---|
行 1: | 行 1: | ||
====== nginx ====== | ====== nginx ====== | ||
- | 非同期IOで動作する高速なHTTPサーバ。 | + | 非同期IOで動作する高速なHTTPサーバ。読み方は「えんじんえっくす」 |
行 80: | 行 80: | ||
- | ===== passenger ===== | ||
- | nginx + passenger でrailsアプリを起動する。 | ||
- | |||
- | Ubuntu 10.04では以下のライブラリをインストールする | ||
- | |||
- | < | ||
- | $ sudo aptitude install build-essential | ||
- | $ sudo aptitude install libcurl4-openssl-dev | ||
- | </ | ||
- | |||
- | rubyやgem、rails等のインストール後、gemでpassengerをインストール。ここではバージョンを明示しているが、特に指定せず最新版を入れると良い。 | ||
- | |||
- | < | ||
- | $ sudo gem install -v=3.0.7 passenger --no-rdoc --no-ri | ||
- | $ sudo / | ||
- | </ | ||
- | |||
- | とりあえず起動と停止 | ||
- | |||
- | < | ||
- | $ sudo / | ||
- | $ sudo / | ||
- | </ | ||
- | |||
- | Railsアプリの実行ユーザはAapche版と同じく environment.rb の所有ユーザとなる。 | ||
==== nginx.confに設定を追加 ==== | ==== nginx.confに設定を追加 ==== | ||
行 160: | 行 135: | ||
===== PHP ===== | ===== PHP ===== | ||
- | FastCGIでphpを動作させる。php-fpmまたはspawn-fcgiを使う。 | + | Apacheにおけるmod_phpのようなモジュールは無いので、FastCGIでphpを動作させる。php-fpmまたはspawn-fcgiを使う。 |
==== php-fpm ==== | ==== php-fpm ==== | ||
行 267: | 行 242: | ||
</ | </ | ||
+ | ===== x-accel-redirect ===== | ||
+ | |||
+ | nginx をバックエンドアプリケーションのプロキシとして使っている場合に、アプリにproxyした後にnginxがファイルを返すようにする仕組み。 | ||
+ | |||
+ | 主な用途は認証つきの静的ファイルダウンロード。nginxがファイルを返すためバックエンドアプリケーションに転送負荷をかけずに認証つきのファイルダウンロードを実装できる | ||
+ | |||
+ | アプリ側は権限などのチェックを行い、問題なければ200レスポンスに以下のようなレスポンスヘッダをつける | ||
+ | |||
+ | < | ||
+ | X-Accel-Redirect: | ||
+ | </ | ||
+ | |||
+ | nginx側 | ||
+ | |||
+ | < | ||
+ | // アプリへのプロキシ | ||
+ | location / { | ||
+ | proxy_pass: http:// | ||
+ | } | ||
+ | |||
+ | // x-accel-redirectを受け取る部分 | ||
+ | location /download { | ||
+ | internal; | ||
+ | root / | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ダウンロードさせるファイルは ''/ |
nginx.1316440789.txt.gz · 最終更新: 2011/09/19 13:59 by nullpon