CodeZine(コードジン)

特集ページ一覧

初めてのCatalyst入門(1)
PerlによるWebフレームワークCatalystとは?

Catalystのインストール手順、サンプルアプリケーションの作成方法

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/08/12 14:00
目次

アプリケーションの実行

 Helloアプリケーションのスケルトンができましたので、まずこの時点で一度動作させてみましょう。

 Catalystはmod_perlFastCGIを使用して実行させることもできますが、通常の開発時ではデバッグ情報を逐一確認しながら進められるため、組み込みサーバを使用してアプリケーションを実行する方法も便利です。組み込みサーバはcatalyst.plで生成されたヘルパースクリプトを使用して起動します。

 Helloアプリケーションの組み込みサーバを起動するには次のように「Hello/script/hello_server.pl」を使用します。

リスト14:「Hello」アプリケーションの組み込みサーバを起動する
$ ./Hello/script/hello_server.pl

 組み込みサーバを起動すると、次に示すようにコンソールにはさまざまなデバッグ情報や読み込んだプラグイン、コンポーネント、URLなどの情報を表示します。

 また、Webブラウザからのリクエストに対して、どのアクションが実行されたか、などの情報も表示されます。

$ ./Hello/script/hello_server.pl
[debug] Debug messages enabled
[debug] Statistics enabled
[debug] Loaded plugins:読み込まれたプラグインの情報
.----------------------------------------------------------------------------.
| Catalyst::Plugin::ConfigLoader  0.24                                       |
| Catalyst::Plugin::Static::Simple  0.21                                     |
'----------------------------------------------------------------------------'

[debug] Loaded dispatcher "Catalyst::Dispatcher"
[debug] Loaded engine "Catalyst::Engine::HTTP"
[debug] Found home "/home/test/Hello"
[debug] Loaded Config "/home/test/Hello/hello.conf"
[debug] Loaded components:読み込まれたコンポーネントの情報
.-----------------------------------------------------------------+----------.
| Class                                                           | Type     |
+-----------------------------------------------------------------+----------+
| Hello::Controller::Root                                         | instance |
'-----------------------------------------------------------------+----------'

[debug] Loaded Private actions:プライベートアクションとクラス/メソッド関係
.----------------------+--------------------------------------+--------------.
| Private              | Class                                | Method       |
+----------------------+--------------------------------------+--------------+
| /default             | Hello::Controller::Root              | default      |
| /end                 | Hello::Controller::Root              | end          |
| /index               | Hello::Controller::Root              | index        |
'----------------------+--------------------------------------+--------------'

[debug] Loaded Path actions:URLのパスとプライベートアクションの関係
.-------------------------------------+--------------------------------------.
| Path                                | Private                              |
+-------------------------------------+--------------------------------------+
| /                                   | /default                             |
| /                                   | /index                               |
'-------------------------------------+--------------------------------------'

[info] Hello powered by Catalyst 5.80007

 「<myapp>_server.pl」スクリプトは、実行時に次のようなオプションを指定できます。

_server.pl」の実行時オプション
オプション 説明
-? または -help ヘルプを表示
-p または -port 組み込みサーバのPort番号を指定(デフォルト:3000)
-k または -keepalive keep-aliveコネクションを有効にする
-r または -restart ファイルが更新された場合には、自動的に再起動する

 例えば、Port番号8000で組み込みサーバを起動する場合には次のように指定します。

リスト15:Port番号8000で組み込みサーバを起動する
$ ./Hello/script/hello_server.pl -p 8000

 組み込みサーバはデフォルトではPort番号3000で動作しているので、Webブラウザで開いてみましょう。

 今回の例では、組み込みサーバを起動しているPCのIPアドレスは「192.168.123.69」ですので、URLは「http://192.168.123.69:3000/」になります。IPアドレスやURLは皆さんの動作環境に応じて適宜変更してください。

Helloアプリケーションの実行画面
Helloアプリケーションの実行画面

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Webアプリケーションフレームワーク「Catalyst」入門

もっと読む

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

  • WINGSプロジェクト 花田 善仁(ハナダ ヨシヒト)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5