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へのクライアントアクセスを防止し、ここで「内部」の定義は非常重要です。

関連情報