nginx
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
nginx [2011/09/13 04:14] – [php-fpm] nullpon | nginx [2020/05/29 09:30] (現在) – nullpon | ||
---|---|---|---|
行 1: | 行 1: | ||
====== nginx ====== | ====== nginx ====== | ||
- | 非同期IOで動作する高速なHTTPサーバ。 | + | 非同期IOで動作する高速なHTTPサーバ。読み方は「えんじんえっくす」 |
行 58: | 行 58: | ||
※ この設定は1 worker_processesあたりの設定? worker_connectionsと同じで良いのか? 仮にそうだとしてkeep aliveやssiを使っていると1コネクションで複数ファイルを開くので、その場合はconnectionより大きい値を指定しないといけない? 要調査。 | ※ この設定は1 worker_processesあたりの設定? worker_connectionsと同じで良いのか? 仮にそうだとしてkeep aliveやssiを使っていると1コネクションで複数ファイルを開くので、その場合はconnectionより大きい値を指定しないといけない? 要調査。 | ||
- | ===== passenger | + | ===== ログローテーション |
- | nginx + passenger でrailsアプリを起動する。 | + | Ubuntuのログローテーションの例(月単位でローテーション) |
- | + | ||
- | Ubuntu | + | |
< | < | ||
- | $ sudo aptitude install build-essential | + | / |
- | $ sudo aptitude install libcurl4-openssl-dev | + | |
+ | missingok | ||
+ | rotate 12 | ||
+ | compress | ||
+ | delaycompress | ||
+ | notifempty | ||
+ | create 640 root adm | ||
+ | sharedscripts | ||
+ | postrotate | ||
+ | test -f / | ||
+ | endscript | ||
+ | } | ||
</ | </ | ||
- | rubyやgem、rails等のインストール後、gemでpassengerをインストール。ここではバージョンを明示しているが、特に指定せず最新版を入れると良い。 | + | nginxはUSR1シグナルでログファイルを開き直す。 |
- | < | ||
- | $ sudo gem install -v=3.0.7 passenger --no-rdoc --no-ri | ||
- | $ sudo / | ||
- | </ | ||
- | |||
- | とりあえず起動と停止 | ||
- | |||
- | < | ||
- | $ sudo / | ||
- | $ sudo / | ||
- | </ | ||
- | Railsアプリの実行ユーザはAapche版と同じく environment.rb の所有ユーザとなる。 | ||
==== nginx.confに設定を追加 ==== | ==== nginx.confに設定を追加 ==== | ||
行 138: | 行 135: | ||
===== PHP ===== | ===== PHP ===== | ||
- | FastCGIでphpを動作させる。php-fpmまたはspawn-fcgiを使う。 | + | Apacheにおけるmod_phpのようなモジュールは無いので、FastCGIでphpを動作させる。php-fpmまたはspawn-fcgiを使う。 |
==== php-fpm ==== | ==== php-fpm ==== | ||
行 245: | 行 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.1315887257.txt.gz · 最終更新: 2011/09/13 04:14 by nullpon