問題タブ [plack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - マルチサイト対応の PSGI アプリケーション開発
Plack::Builderでは、複数のホストをマウントできます。たとえば、次のスニペットのようなものです。
例えば
- は、、、...
load_site_names
のようなサイトのリストを返します。http://example.com
http://some.other.site.com
- すべての「仮想ホスト」は同じものを使用します
Some::PsgiFramework::MyApp
- 設定が違うだけ
私は正確に上記を必要としています - 異なる(トラフィックの少ない)サイトのハンダートに展開する必要がある1つの単純なWebアプリを開発する必要があり、サイトごとに異なるPSGIサーバーをセットアップしたくない.
ただし、Plack 自体の作成者は ( Plack::Requestで)と述べています。
このモジュールは、アプリケーション開発者 (エンド ユーザー) ではなく、Plack ミドルウェア開発者および Web アプリケーション フレームワーク開発者によって使用されることを意図していることに注意してください。
Plack::Request を使用して Web アプリケーションを直接作成することは確かに可能ですが、お勧めしません: mod_perl の Apache::Request: でそうするようなものですが、レベルが低すぎます。
フレームワークではなく Web アプリケーションを作成している場合は、PSGI ( http://plackperl.org/#frameworks )をサポートする Web アプリケーション フレームワークの 1 つを使用するか、HTTP::Engine などのモジュールを参照することをお勧めします。 PSGI の上に高レベルのリクエストおよびレスポンス API を提供します。
そして、これが問題です。
MetaCPAN でさまざまな PSGI ベースのフレームワークの多くをチェックしました。そして、AFAIKはそれぞれシングルトンベースです。たとえば、同じapp.psgi
.
質問は次のとおりです。
- MetaCPAN (またはドキュメント) で何かを見逃していました。ここには 、?
app.psgi
- または私は開発を余儀なくされてい
Just Another My Own PSGI Framework
ますか?(正直、触媒は重すぎてチェックしていません) - それとも「取り付け」をよく理解していませんか?
perl - ダンサー固有のリクエスト ID
Dancer に一意のリクエスト ID はありますか?
Apache には mod_unique_id があります: http://httpd.apache.org/docs/current/mod/mod_unique_id.html
PSGI/Plack にはミドルウェア モジュールがあります: http://search.cpan.org/~bayashi/Plack-Middleware-RequestId-0.02/lib/Plack/Middleware/RequestId.pm
しかし、私が見逃したダンサーにネイティブなものはありますか?
perl - PSGI - 各 prefork-child のコンストラクター
分岐後の各子のコンストラクターについて質問があります。例えば:
このコードは機能していますが、これは悪い習慣です。そのようなものを作成したいと思います
Starman や Feersum のような prefork-server でどのように機能するかを誰かが説明してくれることを願っています (しかし、ある男 "Audrey Tang" は、Feersum はそれは良い考えではないと教えてくれました)
だから - あなたの答えに感謝します
apache2 - Dancer2 - Plack を使用して Apache2 でデプロイできない
Apache2 で Plack を使用して Dancer2 アプリをデプロイしようとしています。しかし、ポート 80 のすべての構成を変更した後、アプリケーション自体の代わりにディレクトリ リストが表示されます。
ローカルで実行中のアプリケーションは次のとおりです。
root@dancer-cmuscheduler:/home/ADI/dancer_scheduler# plackup bin/app.psgi HTTP::Server::PSGI: http://0:5000/で接続を受け入れる
これは、ポート 5000 で問題なく動作します。
ただし、apache2 にデプロイしたいと考えています。これが私の構成です:
私は今4時間デバッグしようとしています。面白いことに、関連付けられたログ ファイルには、正しい方向に進むのに役立つログがありません。
[Thu Jul 14 02:23:14.424149 2016] [mpm_event:notice] [pid 7468:tid 140401436669824] AH00489: Apache/2.4.7 (Ubuntu) が構成されています -- 通常の操作を再開しています [Thu Jul 14 02:23:14.424306 2016] [core:notice] [pid 7468:tid 140401436669824] AH00094: コマンド ライン: '/usr/sbin/apache2'
ご意見をお聞かせください