問題タブ [psgi]
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でダウンロードするためにzipファイルをブラウザに送信するPerlの方法
私は PSGI を見始めました。アプリケーションからの応答は、[コード、ヘッダー、本文] の 3 つの要素の配列参照である必要があることを知っています。
問題は、ブラウザにダウンロードするためにzipやpdfなどのファイルを送信する方法です。
perl - Perl は Linux CentOS と Apache 共有ホスティングで PSGI を実行します
cpanel共有ホスティングを備えたLinux CentOSにpsgiテストアプリケーションがあります。次のような PSGI プロトコルで呼び出すにはどうすればよいですか。
.psgi を有効にして PSGI プロトコルで実行する方法を意味します。PSGI プロトコルで .psgi を自動的に実行できるようにしたいと考えています。
plackup コマンドを使用して実行できることはわかっています。
perl - FCGI と PSGI 間の Perl ベンチマーク
FCGI プロトコルについて私が知っていることは、アプリケーションが初めて呼び出されたときに、アプリケーションがメモリにロードされ、実行され、サーバーに応答が返され、応答が終了してもアプリケーションが終了せず、メモリ内で実行され続け、その後、次のリクエストは、このコンパイルされたメモリ内アプリケーションのコピーを使用してリクエストを処理します。
PSGI プロトコルについて読むと、同じように動作しているようです。
私の質問は、私の仮定は正しいですか、1 秒あたりのリクエストに対するアプリケーションの速度に関しては同じです。
それらが同じように機能する場合の紛らわしい問題も、なぜplackupにFCGIを有効にするコマンドラインオプションがあるのか わかりません。
perl - Perl CGI::PSGI でのシンプル
PSGI をサポートする単純なアプリケーションで CGI::Simple を使用しています。既製のフレームワークを使用する予定はありません。CGI::Simple の PSGI サポートについて多くの検索を行いましたが、何も見つかりませんでした。 CPAN のモジュール。幸運なことに、このサイトCGI::Simple::PSGI
で、 CPAN に存在しないという名前のモジュールを持っている人を見つけました。このモジュールを私のアプリに含めても安全ですか?作者が cpan サイトにアップロードしなかった理由がわかりません。モジュールのメールに連絡しましたが、返信がありません。
以下は、リンクが変更された場合のこのモジュールの内容です。
cgi - PSGI で変数を渡す
PSGI に変換したい CGI スクリプトがあります。結果は次のとおりです。
「何かをする」をクリックした後、同じページに戻りますが (明らかに)、「click_me」と表示されます。これは CGI では機能しましたが、何らかの理由で PSGI はこの変数を渡しません。上記で定義された他の変数を出力できます。だから私の @keys = param(); 多くのことをしていないようです。
perl - 集約されたテスト用の Test::WWW::Mechanize::PSGI オブジェクトの「クリーンな」クローンを取得するにはどうすればよいですか?
実行に約 40 分以上かかる Catalyst/PSGI Web サイト用の大規模なテスト スイートがあります。Test::Aggregate::Nestedを使用して、集約されたテストを使用するように切り替えましたが、実行に約 20 分以上かかります。
私は、パフォーマンスを向上させるために、テスト スイートでWWW::Mechanizeの clone メソッドをテスト間で使用することを実験してきました。
$mech
テストの合間に、次のように共有オブジェクトを複製して「リセット」しています。
Test::WWW::Mechanize::PSGIは WWW::Mechanize を拡張することに注意してください。
これにより、テストの実行にかかる時間が 5 分未満に大幅に短縮されます。
しかし、明らかにこれでは十分ではありません: 特定のテスト用に新しいオブジェクトを取得する必要があります。これは、いくつかのテスト スクリプトで新しい Test::WWW::Mechanize::PSGI オブジェクトを手動で取得する必要があるテスト間の副作用のためです。 . これにより、テスト時間がさらに数分長くなります。
テスト間の副作用はバグであり、いくつかのテストで新しいオブジェクトを取得するニートはクルージュであると考えています。
私の質問は、オブジェクトの状態をリセットするために他に何ができるでしょうか?
perl - リクエストの本文全体を読み取らずに、Plack::Middleware で最大アップロード サイズを強制することは可能ですか?
PageKit (mod_perl) アプリケーションをPlackに変換しました。これは、以前はApache2:: Request が処理していた POST_MAX/MAX_BODY を強制する何らかの方法が必要であることを意味します。これを行う最も簡単な方法は、おそらく nginx をアプリの前に配置することですが、アプリはすでに HAProxy の背後にあり、HAProxyでこれを行う方法がわかりません。
それで、私の質問は、最初にリクエストの本文全体を読み取らずに、 Plack::Middlewareで最大本文サイズを強制する方法です。
具体的には、ファイルのアップロードに関心があります。Plack::Request::Uploadによるサイズのチェックは、この時点で本文全体が読み取られてしまうため、遅すぎます。アプリはStarman経由でデプロイさpsgix.streaming
れるtrue
ため、.
perl - apacheでcgiをpsgiに変換したアプリケーションにデプロイする
この cgi.pl を apache サーバーで http://localhost/cgi-bin/cgi.plとして実行します
しかし、変換された psgi.pl を apache サーバーで実行することはできません。その表示を助けてください 内部サーバー エラー サーバーで内部エラーまたは構成ミスが発生したため、要求を完了できませんでした。サーバー管理者 (admin@example.com) に連絡して、このエラーが発生した時刻と、このエラーの直前に行った操作を知らせてください。このエラーの詳細については、サーバー エラー ログを参照してください。