Nginx
Nginx [engine x]は、HTTPおよびリバースプロキシサーバー、ならびにIgor Sysoevによって書かれたメールプロキシサーバーです。 nginxプロジェクトは、高い並行性、高いパフォーマンス、そして低いメモリ使用量に重点を置いて始めました。 2条項のBSDライクなライセンスでライセンスされており、Linux、BSDの変種、Mac OS X、Solaris、AIX、HP-UX、その他の* nixフレーバーで動作します。 Microsoft Windows用の概念実証ポートもあります。
以下は、Nginxの設定に関するコミュニティから提供されたドキュメントです。修正や追加は大歓迎です。
Nginxの設定
PHP-FPM
Nginxは通常php-fpmを介してPHPとインターフェースするように設定されています。これは高速かつ堅牢です。
PHP-FPMのプールに対するデフォルトの振る舞いは通常スクリプトの実行を特定の拡張子、すなわち.phpに制限することです。あなたはこの振る舞いがあなたの特定のパッケージ/ディストリビューションの中で設定されていることを確実にするべきです。
/etc/php5/fpm/pool.d/www.conf
security.limit_extensions = .php
Nginx
あなたのnginx設定の中のあなたの仮想ホスト 'server'に、次の 'slash arguments' compatible 'location'ブロックを追加してください(詳細は ' Using slash arguments 'を参照)。
nginx.confの場所:
location〜[^ /] \。php(/ | $){ fastcgi_split_path_info ^(。+ \。php)(/.+)$; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000(またはあなたのphp-fpmソケット); fastcgi_paramsを含める。 fastcgi_param PATH_INFO $ fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; }
open() "..."が失敗しました(20:ディレクトリではありません)ログに表示される行:このブロックの前に静的コンテンツに関連するディレクティブがあるかどうかを確認し、それらをこのブロックの後に移動してみてください。
XSendfile別名X-Accel-Redirect
XSendfile機能を使用するようにMoodleとNginxを設定することは、PHPがファイルを配信することから解放し、Nginxが最善を尽くすこと、すなわちファイルを配信することを可能にするので大きな勝利です。
Moodles config.phpでNginxのxsendfileを有効にします。これはconfig-dist.phpに記載されています。最小の設定は以下のようになります。
$ CFG-> xsendfile = 'X-Accel-Redirect'; $ CFG-> xsendfilealiases = array( '/ dataroot /' => $ CFG-> dataroot ;
これに、nginxサーバーの設定で一致する 'location'ブロックを付けます。
location / dataroot / { 内部; エイリアス<full_moodledata_path>; #パスが/で終わることを確認してください。 }
それはあなたのdatarootへのクライアントアクセスを防止し、ここで「内部」の定義は非常に重要です。
関連情報
- 実際のPATH_INFOのサポート:
- [廃止予定] HTTP GET ファイルパラメータの内部書き換え: