サーバー設定 · 1 min read · Oct 19, 2025
nginxとFastCGIでHTML::Masonを実行する
nginxとFastCGIでHTML::Masonを実行する
この記事は、nginxウェブサーバーとFastCGIで使用するためのHTML::Masonモジュールをインストールする手順を説明したガイドです。Debian(lenny)でテストされていますが、Ubuntuや他のDebianベースのディストリビューションでも非常に似たように動作するはずです。
最小限の実行サーバーのインストール
まず、nginxとFastCGIを使用して最小限のサーバーをインストールします。動作させるための基本的なスクリプトを作成しました。後でこれらのスクリプトをカスタマイズできます。
nginxのインストール
次に、nginxをインストールして動作させます。ホスト上に他のウェブサーバーがないことを前提としています。すべてはデフォルトでインストールされます。
apt-get install nginxポート80にtelnetで接続して動作するか確認してみましょう。
/etc/init.d/nginx start
telnet locahost 80
Escape character is '^]'
GET /
nginxへようこそ!
... FastCGIのインストール
apt-get install libcgi-fast-perl libio-all-perlHTML::Masonのインストール
HTML::Masonはapache2を必要とするため、ダウンロードしてインストールします。後でこれを取り除きます。
apt-get install libhtml-mason-perl
apt-get --purge remove apache2-mpm-worker apache2-utils
apt-get --purge autoremoveこれでHTML::Masonがインストールされ、apacheの痕跡がないことを願っています。nginxがまだ動作していることを確認するために、ポート80で応答しているか確認してください。
FastCGIの設定
HTML::Masonコードを実行するためにFastCGIサーバーを実行する必要があります。このスクリプトは、すべての設定および初期化ファイルをダウンロードします。rootとして実行する必要があります。実行する前に確認してください。githubからいくつかのファイルをダウンロードしてコピーします。サーバーにとって危険な可能性があります。
wget http://github.com/frankiejol/mason-fcgi/raw/master/download.sh
bash ./download.sh/etc/nginx/sites-available/masonのserver_nameオプションをサーバーの実際の名前に変更することが非常に重要です。localhostは機能しません。その後、/var/www/mason/mason_fcgi.plの%SITES変数を修正します。
Masonコードの実行
最後に、シンプルなMasonページを作成しましょう。
mkdir /var/www/site1
echo '<% 2 + 2 %>' > /var/www/site1/index.html次に、サービスを開始しましょう。ブラウザでサイトに接続すると4が表示されるはずです。
/etc/init.d/nginx restart
/etc/init.d/fcgi startサーバーのカスタマイズ
現在、nginx+FastCGIで動作するMasonサーバーがあります。すべての設定ファイルとスクリプトは、私のgithubリポジトリにあります。
nginx
nginxの設定は/etc/nginx/sites-available/masonにあります。必要に応じて場所を変更できます。Masonはディレクトリを適切に処理できないため、リクエストがディレクトリのように見えるときにindex.htmlの接尾辞が追加されることに注意してください。
FastCGI
FastCGIの起動スクリプトは/var/www/mason/mason_fcgi.plです。いくつかの引数を指定できます。
/var/www/mason/mason_fcgi.pl --help
mason_fcgi.pl [--help] [--pid=/var/run/fcgi/fcgi.pid] [--log=/var/log/nginx/fcgi/fcgi.log] [--debug] [--socket=/var/run/fcgi/mason_fcgi.sock] [--basedir=/var/www] [--workspace=/var/www/mason/workspace] [--error-uri=/errors/503.html] [--listen-queue=100] [--default-host=debian.localdomain]Perlモジュールとグローバル変数の読み込みを追加するセクションがあります。これがデフォルトのコードです。
{
package HTML::Mason::Commands;
# use My::Own::Module;
# use Data::Dumper;
# コンポーネントで利用可能にしたいもの
use vars(qw($DBH %stash));
}複数のFastCGIサイトの実行
FastCGIデーモンは/etc/init.d/fcgiから実行されます。このスクリプトは/etc/default/fcgiから設定を読み込みます。異なるサイト用にさらにFastCGIサーバーが必要な場合は、initスクリプトを別の名前にコピーし、設定ファイルも同じ名前で呼び出します。initスクリプトは、自身と同じベース名のファイルを/etc/defaultから読み込みます。
リンク
- nginx
- HTML::Mason
- mason-fcgiファイル
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。