ユーザ用ツール

サイト用ツール


nginx

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
nginx [2011/09/13 04:14] – [php-fpm] nullponnginx [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 10.04では以下ライブラリをイストルする+
  
 <code> <code>
-$ sudo aptitude install build-essential +/var/log/nginx/*.log { 
-$ sudo aptitude install libcurl4-openssl-dev+        monthly 
 +        missingok 
 +        rotate 12 
 +        compress 
 +        delaycompress 
 +        notifempty 
 +        create 640 root adm 
 +        sharedscripts 
 +        postrotate 
 +                test -f /var/run/nginx.pid && kill -USR1 `cat /var/run/nginx.pid` 
 +        endscript 
 +}
 </code> </code>
  
-rubyやgem、rails等のインストー後、gempassengerをンストー。ここではバージョンを明示しているが、特に指定せず最新版入れると良い+nginxはUSR1シグナルでログファイルを開き直す
  
-<code> 
-$ sudo gem install -v=3.0.7 passenger --no-rdoc --no-ri 
-$ sudo /var/lib/gems/1.8/gems/passenger-3.0.7/bin/passenger-install-nginx-module 
-</code> 
- 
-とりあえず起動と停止 
- 
-<code> 
-$ sudo /opt/nginx/sbin/nginx  
-$ sudo /opt/nginx/sbin/nginx -s stop 
-</code> 
  
-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:
 </code> </code>
  
 +===== x-accel-redirect =====
 +
 +nginx をバックエンドアプリケーションのプロキシとして使っている場合に、アプリにproxyした後にnginxがファイルを返すようにする仕組み。
 +
 +主な用途は認証つきの静的ファイルダウンロード。nginxがファイルを返すためバックエンドアプリケーションに転送負荷をかけずに認証つきのファイルダウンロードを実装できる
 +
 +アプリ側は権限などのチェックを行い、問題なければ200レスポンスに以下のようなレスポンスヘッダをつける
 +
 +<code>
 +X-Accel-Redirect: /download/fifename1.png
 +</code>
 +
 +nginx側
 +
 +<code>
 +// アプリへのプロキシ
 +location / {
 +  proxy_pass: http://127.0.0.1:8080 
 +}
 +
 +// x-accel-redirectを受け取る部分
 +location /download {
 +  internal;   // これを忘れると直接パス指定でダウンロードし放題になるので注意
 +  root /var/www/download;
 +}
 +</code>
 +
 +ダウンロードさせるファイルは ''/var/www/download/'' 以下に設置する
nginx.1315887257.txt.gz · 最終更新: 2011/09/13 04:14 by nullpon