問題タブ [cherokee]
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.
configuration - Nginx vs チェロキー
5 ~ 10K の同時接続に最適なのはどれですか? 巨大な Web アプリケーションにチェロキーを使用している人はいますか? (Google や IBM などの巨人を意味します)
regex - チェロキーリダイレクト
私のサーバーはチェロキーを実行しており、リダイレクトを機能させようとしています。同じフォルダーにリダイレクトしているため、無限のリダイレクト ループで問題が発生しています。
私の URL は次のとおりです。
http://domain.tld/example-variable (http://domain.tld/product-1234)
これは次の場所にリダイレクトする必要があります。
http://domain.tld/index.php?item=variable (http://domain.tld/index.php?item-1234)
私が試した正規表現は次のとおりです。
^/product-(.*)
/index.php?item-$1
このリダイレクトは機能しています。ただし、http://domain.tldは現在、画像などのファイル (http://domain.tld/image.jpg) と同様に破損しています。私が使用している他のリダイレクトは正常に機能していますが、フォルダーを別のフォルダーにリダイレクトします (つまり、/folderA から /folderB へ)。
django - 502不正なゲートウェイ-チェロキーのdjango/cherrypyHTTPリバースプロキシラウンドロビン
そこで、チェロキーをインストールし、django-cpserverをdjangoアプリに含めました。
その後、私は走った
これらのコマンドを繰り返して、cherrypy.pid-1、cherrypy.pid-2などの10個のプロセスcherrypy.pid-10を生成します。
次に、チェロキー管理者で、これらの10個の情報ソースをdjangoインスタンスにマッピングしました。-
ただし、チェロキーを再起動した後、502の不正なゲートウェイエラーが発生し、cherokee.errorログを見ると、次のような一連のエラーが表示されます。-
構成で何が間違っていたのかわかりません。この「502ゲートウェイエラー」の問題を解決するための正しい方向に私を導いてくれるポインタに感謝します。
(チェロキーにdjangoの標準のscgiデプロイメント構成を使用する場合、すべてが正常に機能することを追加する必要があります。ただし、cherypyをリバースプロキシとして使用してチェロキーにdjangoをデプロイする方法を理解したいと思います。)
glassfish - HTTP 接続が失われている間に処理/実行を続行する (Web サーバー/GlassFish)
Web サーバー (nginx、Cherokee、Oracle iPlanet など) と Java コンテナー (GlassFish など) に関して次の質問を受けました。
ブラウザーがサーバーへの HTTP/HTTPS 接続を開くと、Web サーバー (nginx、Cherokee、または Oracle iPlanet) にヒットし、Java コンテナー (GlassFish) へのリバース プロキシにアクセスします。次に、Java アプリケーションが実行され、計算などの非常に多くの処理が行われ、最終的に、たとえば 3 つの異なるデータベースに書き込む必要があります。1 番目のデータベースへの書き込みが完了したが、2 番目と 3 番目のデータベースへの書き込みはまだ完了していない場合、ユーザーが (ブラウザ ウィンドウを閉じるか、ネットワーク接続を切断するなどして) 接続を閉じた場合、プロセスはどうなりますか?
具体的には、すべてのコードの実行が完了するまでプロセスを続行したいと考えています。新しいスレッドでプロセスをスピンオフする方法があることは知っていますが、これには計算コストがかかります。では、ユーザーが接続を切断した場合でも実行を継続できるようにするためにできる設定/構成はありますか?
php - X-Sendfile ヘッダーが機能しているかどうかをテストする
X-Sendfile がスクリプト (PHP) によって Web サーバーに返された要求を適切に処理しているかどうかを確認する方法を探しています。画像は正しく提供されていますが、curl リクエストにヘッダーが表示されると思いました。
構成
FastCGI で PHP-FPM 5.3.8 を使用するCherokee 1.2.100
cherokee.conf: vserver!20!rule!500!handler!xsendfile = 1
:
(vServer > Behavior > Extensions php > Handler: Allow X-Sendfile [check Enabled] で設定)
Wordpress Network / WPMU 3.3.1 :含まれる直前に以下に
define('WPMU_SENDFILE',true);
設定されています。これにより、 WP の wp-includes/ms-files.php:50で実行される次のコードがトリガーされ、特定のブログのファイルが提供されます。wp-config.php
wp-settings.php
exit();
上記のスニペットが、呼び出しの直前にディスポジション用のヘッダーを追加することで実行されていることを確認しました。その Content-Disposition は上記の curl の結果に存在し、もともと ms-files.php コードにはありません。追加されたコードは次のとおりです。
header('Content-Disposition: inline; filename="'.basename($file).'"');
リサーチ
私は持っている:
- 構成の変更を行った後、php-fpm / cherokee デーモンを再起動しました。
- php.net/readfileのコメントでいくつかのトリックを試し、単純なヘッダーを
ms-files.php
例のより完全なコードに置き換えました。- php.net/manual/en/function.readfile.php
- www.jasny.net/articles/how-i-php-x-sendfile/
- *codeutopia.net/blog/2009/03/06/sending-files-better-apache-mod_xsendfile-and-php/*
- [チェロキーのサポート][5] を確認し、[あり/なし][6] の圧縮をテストしましたが、私の画像は正しく表示されているため、適用されるとは思いません。また、lighttpd の投稿から疑わしい同様の問題を発見しました。
- *cherokee-project.com/doc/other_goodies.html*
- code.google.com/p/cherokee/issues/detail?id=1228
- webdevrefinery.com/forums/topic/4761-x-sendfile/
- ヘッダーが削除されたことを示す可能性のある SO の宣伝文句を見つけました
- stackoverflow.com/questions/7296642/django-understanding-x-sendfile
- 上記のヘッダーが curl、wget、Firefox、Chrome、および web-sniffer.net から一貫していることをテストしました。
- 評判が悪いため、まだ 2 つ以上のリンクを投稿できないことがわかりました。
質問
X-Sendfile
正しく機能している場合、または取り除かれている場合、ヘッダーに存在しますか?- が機能しているかどうかを判断するためにアクセス ログを使用できます
X-Sendfile
か?
ここでは、一般的なトラブルシューティングのヒントや情報を探しています。必ずしも PHP / Cherokee に固有のものではありません。
アップデート
テスト環境またはサンドボックス環境で X-Sendfile または X-Accel-Redirect を確認する適切な方法を見つけました: X-Sendfile を無効にして、ヘッダーを確認します。
チェロキーで X-Sendfile を許可を無効にした場合:
画像はブラウザーに読み込まれませんが、ヘッダーが存在することがわかります。Allow X-Sendfile を再度有効にすると、イメージが読み込まれ、X-Sendfile が機能していることを確認できます。
django - cherokee + uwsgi で django プロジェクトを実行する
1) ubuntu 11.10
2) cherokee (https://launchpad.net/~cherokee-webserver/+archive/ppa) (バージョン 1.2.101)を
次のようにインストールします。
3) uwsgi (バージョン 0.9.8.1-1) を次のようにインストールします。
4) Django 1.3.1 (sudo pip install django)
実行:
1) example.com を hosts ファイルに追加 (example.com 127.0.0.1)
2) uwsgi.xml を作成
および django_wsgi.py
3)
ファイル uwsgi.xml、django_wsgi.py を /var/www/vtest に移動し、chmod +x django_wsgi.py
4) 仮想サーバーを cherokee-admin vservers に追加 -> 追加 -> プラットフォーム -> uwsgi choise uwsgi.xml ドキュメント ルート /var /www/vtest コンソール:
コンソールで uwsgi コマンドを実行する場合:
ブラウザ example.com:
500 Internal Server Error エラー
の原因は何ですか? そして、この行:コンソールの「アプリがロードされていません。完全な動的モードになります」。
fastcgi - PHP-FPM / FastCGI + exit() が原因で CPU スパイクが発生する
Cherokee 1.2.101 の FastCGI で Archlinux / php-fpm 5.3.9 を実行している一部のサーバーで断続的な問題が発生しています。次のようなロジックを使用して静的キャッシュ ファイルを構築および提供するキャッシュ プラグインを使用しています。
いくつかのプロセスは、その呼び出しでハングしている php-fpm の遅いログに記録されexit()
ます。その時点で、負荷が急増し、100% の CPU 使用率が (ほぼ) 完全に Web サーバーに行き、PHP ページが 500 - 内部サーバー エラーを返し始めます。サーバーが自然に回復する場合もあれば、php-fpm と cherokee を再起動する必要がある場合もあります。
PHP-FPM の FastCGI 設定を実行するように構成しました。
これは VPS ですが、キャッシュ ファイルが既にロードされているはずなので、ファイルシステムでの IO 待機を暫定的に除外します。テストする行為でそれをキャッチできませんでした
vmstat
500に設定しましたが、呼び出しがプロセスの循環を妨げているのでは
pm.max_requests
ないかと思います。exit()
php-fpm ログには多くの
WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers)
. これは、プール内の子プロセスの数を規制する php-fpm の通常の部分のようですが、
トラブルシューティングに関するヒントをいただければ幸いです。以下に、危険信号を発した 3 つの点を示します。
http://www.php.net/manual/en/function.exit.php#96930
https://serverfault.com/questions/84962/php-via-fastcgi-terminated-by-calling-exit#85008
web - チェロキー Web サーバー プロジェクトはまだ生きていますか?
数日間 cherokee-project.com にアクセスしようとしましたが、何も表示されません。このプロジェクトはまだ生きていますか?
django - 奇妙なジャンゴメディア展開の問題
チェリーピーを情報源として実行する django アプリのリバース プロキシとして、チェロキーをデプロイすることができました。
特定の画像を除いて、すべての静的ファイルとメディア ファイルが正しく提供されているようです。
http://mydomain.com/media/files/none.pngで、
しかし、?
そのファイルの URL の後ろに追加すると、1x1 ピクセルの画像として正しく表示されます。
あげる
これは予想され、正しいものです。
これはなぜですか?
c++ - 軽量WebサーバーのC++互換性
私はWebサーバーの問題に非常に慣れておらず、C++の比較的素朴な学生です。現在、既存のWebサーバーへのプラグインを作成する必要があるプロジェクトに取り組んでいます。これは企業の商業プロジェクトですが、私の学士論文プロジェクトでもあります。どのWebサーバーが私のプロジェクトに適しているかはよくわかりません。私が探しているWebサーバーは、ネットワークソケットを処理し、httpまたはhttpsリクエストをオブジェクトとして提示する必要があります。このリクエストから、プラグイン(開発したい)がヘッダー、URL、データを読み取り、変換(特にSOAPとREST)会社のデータストレージのファイルシステムAPIに応じて、またはその逆。プラグインはC++を使用して開発する必要があります。サーバー環境はLinuxCentOS6です。会社の通常のスタッフはこれまでLinuxサーバー環境で作業したことがありません。その小さな会社。以前は、WindowsとIISWebサーバーでのみ機能していました。私たちのプロジェクトマネージャーは、フットプリントが重くて遅いため、Apacheの使用には消極的ですが、IISはLinuxには適していません。そこで、Linux用の無料の軽量Webサーバーを探しています。
Nginx、G-WAN、Cherokee、Lightspeed、Varnish、Tntnetなどについて多くの人が話しているようですが、これらのWebサーバーの比較についての標準的な判断の源は実際には見つかりませんでした。それで、私に知らせてください、どのウェブサーバーが私にとって好ましいでしょう。応答を待っています。