lighttpd

提供:MoodleDocs
移動先:案内検索

Lighttpd(別名Lighty)は、メモリフットプリントが小さい軽量のウェブサーバで、eAccelerator代替PHPキャッシュ(APC)。これは、ApacheおよびIISの代替手段であり、リソースの少ないシステム、特にRAMに特に適しています。仮想プライベートサーバ(VPS)ホスティングサービスを使用する場合に理想的です。リソースが豊富なホストでも、LightyはApacheと同じくらい高速ですが、高速ではなく、検討する価値があります。

LighttpdはMoodleのすべての基本要件を満たし、最も一般的なWebサービス機能を提供します。ただし、Apacheの機能を機能に置き換えることを意図したものではありません。ニーズがMoodleを超えている場合は、lighttpdの違いと制限、および必要で利用可能な知識とサポートのレベルに注意してください。実稼働環境にデプロイする前に、すべてのニーズを満たしていることを確認してください。

インストールはプラットフォームによって異なります。次の例がサーバ構成に当てはまらない場合は、公式の説明ページこちらを確認してください。また、こちらの指示に従って、PHP(できればアクセラレータを使用)とFastCGIをインストールする必要があります。

Fedora 9、10、11の例

Lighttpdは公式リポジトリの一部であり、yumを使用してインストールし、次のコマンドを使用して、PHPアクセラレータAlternative PHP Cache(APC)を含むMoodleの基本要件をすべて満たすことができます。

yum install lighttpd lighttpd-fastcgi mysql php php-mysql \
php-pecl-apc php-gd php-mbstring php-xmlrpc php-pdo ;

それぞれのセクションで、/etc/lighttpd/lighttpd.confを編集してMoodleルートディレクトリをポイントし、FastCGIモジュールと fastcgiモジュール セクションのコメントを解除します。 bin-path PHP FastCGI実行可能ファイルを指していることを確認してください。

## ロードするモジュール
# 注:他のアクティブなモジュールがこれに続く場合は、コンマ(,)が必要です。
# これがserver.modulesディレクティブの最後のアクティブモジュールである場合は不要
"mod_fastcgi",
## 静的なドキュメントルートの例
server.document-root        = "/home/moodle-1.9/"
#### fastcgi module
fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
                                   "socket" => "/tmp/php-fastcgi.socket",
                                   "bin-path" => "/usr/bin/php-cgi"
                                 )
                               )
                            )

クライアントのキャッシュ制御と有効期限は非常に柔軟です。有効期限モジュールディレクティブのコメントを解除し、以下を/etc/lighttpd/lighttpd.confに追加して、一般的なタイプの静的ファイルの有効期限を制御し、ニーズに合わせて日数を変更します。

## ロードするモジュール
# モジュールのロード順序は重要です。両方がアクティブな場合、mod_expireはmod_compressの前にリストする必要があります。
# 注:他のアクティブなモジュールがこれに続く場合は、コンマ(,)が必要です。
# これがserver.modulesディレクティブの最後のアクティブモジュールである場合は不要
"mod_expire",
## クライアントキャッシュコントロールセクション
# mod_expire-画像ファイルは最初のアクセスから2日後に期限切れになります
$HTTP["url"] =~ "\.(gif|GIF|jpg|JPG|png|PNG|swf|SWF|ico|ICO)$" {
     expire.url = ( "" => "access 2 days" )
}
# mod_expire-最初のアクセスから1日後に期限切れが含まれます
$HTTP["url"] =~ "\.(css|CSS|js|JS)$" {
     expire.url = ( "" => "access 1 days" )
}
# lighttpdの一部のバージョンでは、完全な機能を実現するために次のディレクティブが必要になる場合があります。必要に応じてコメントを外してください
# etag.use-inode = "enable"
# etag.use-mtime = "enable"
# etag.use-size = "enable"
# static-file.etags = "enable"

Moodleは独自のログとレポートツールを保持しているため、/etc/lighttpd/lighttpd.confの次の行をそれぞれのセクションでコメントアウトすることにより、lighttpdのサーバレベルのログを無効にできます。

## ロードするモジュール
# 注:他のアクティブなモジュールがこれに続く場合は、コンマ(,)が必要です。
# これがserver.modulesディレクティブの最後のアクティブモジュールである場合は不要
# "mod_accesslog"
#### accesslog module
#accesslog.filename          = "/var/log/lighttpd/access_log"

サーバにCPUサイクルに余裕がある場合、圧縮を有効にすると、特に学外や遠隔地の学習者にとって、ネットワーク速度と学生の知覚応答時間が向上します。 CPUサイクルを最大化するには、圧縮をHTTPレベルとPHPレベルで分離する必要があります(特にマルチCPUおよびマルチコアシステムの場合)。まず、/etc/lighttpd/lighttpd.confで圧縮モジュールのコメントを解除し、圧縮ファイルの一時ストア用のディレクトリ(この例では/tmp/compress.tmp)を作成し、圧縮するファイルの種類とともに入力します(それぞれのセクションで次のように、ここにPHP mimetypeを含めないでください:

## ロードするモジュール
# 注:他のアクティブなモジュールがこれに続く場合は、コンマ(,)が必要です。
# これがserver.modulesディレクティブの最後のアクティブモジュールである場合は不要
"mod_compress"
#### compress module
compress.cache-dir         = "/tmp/compress.tmp/"
compress.filetype          = ("text/plain", "text/javascript", "text/css", "text/xml")

次に、/etc/php.iniを編集してPHP出力の圧縮を有効にし、サーバ送信の最大サイズを増やすことを検討します(必要に応じて、個々のコースをMoodle自体でこの制限よりも低く制限することもできます)。

zlib.output_compression = On
post_max_size = 32M

最後に、Alternative PHP Cache(APC)の標準メモリプール設定である32MBは、Moodleではかなり低くなっています。/etc/php.d/apc.iniを編集して、サーバの負荷と使用可能なメモリの合計に応じて、64または128。この設定を増やすと、控えめな機器でもオペコードキャッシュ内から作成されるページ生成の速度を上げることができます。

apc.shm_size=128


関連項目