mod_perlを使おう!
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん
01/11/07 17:42ID:+Gux2iOQ関連リンク等は>2
0233nobodyさん
03/02/05 22:26ID:bAuNqhq0オライリーの "Apache拡張ガイド" ってかなりイイですね。
単に「CGIを高速化したい」というだけの向きには
お勧めしないが。
0234nobodyさん
03/02/06 06:59ID:???漏れもやってみたいんだな。実は。な厨房でした。
phpよりperlの方が、なんだかなぜだか好きなんだな、これが。
ま、別にどっちでもいいんだが。
0235nobodyさん
03/02/28 07:13ID:lH1io3Lrmod_perl 1.27
Apache 1.3.27
Vine Linx 2.6r1
で mod_perl を利用したスクリプトを書いてます。
そこで問題が発生したのですが、
普段は正常に動作してくれるものの、
稀に下記のようなエラーを吐きます。
[error] Undefined subroutine &Apache::Registry::handler called.
そのエラーの後暫く時間を置くと、また正常に動作してくれます。
どのような原因が考えられるでしょうか?
0236山崎渉
03/03/13 17:10ID:???0237山崎渉
03/04/17 12:25ID:???0238山崎渉
03/04/20 06:09ID:???( ^^ )< ぬるぽ(^^)
0239nobodyさん
03/05/06 13:26ID:???前回処理のときの値が変数に残る場合があります。
原因がまったくわかりません。
0240nobodyさん
03/05/06 15:44ID:???とりあえず スクリプトさらせ
そしたらみてやる
0241nobodyさん
03/05/10 20:51ID:HZb4mCK8my $scalar="";で応急対処とか。
perl -wで起動してみるとか。
0243山崎渉
03/05/22 02:04ID:???0244山崎渉
03/05/28 17:19ID:???ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0245nobodyさん
03/05/28 19:30ID:???0246nobodyさん
03/06/28 01:43ID:LpyzQ0Fu0248山崎 渉
03/07/15 11:10ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0249nobodyさん
03/07/25 23:37ID:???0250nobodyさん
03/07/26 13:11ID:???@ISAつかったら、その時点で、セキュリティ上大問題。
mod_perlの存在理由が問われるわけだが。
0251nobodyさん
03/07/28 01:40ID:ZmLsz+tt開発には興味ないのかな?
PSP(Perl Server Pages)なるものがあったけどもっと本格的な奴
作ってほしいなぁ。
0254nobodyさん
03/07/29 00:08ID:VHYtOhh7よく知らないのだけど、それらの実行速度はPHPなどと比べて
速度的に遜色のないものなの?
0255無料動画直リン
03/07/29 00:13ID:2mrfBZ5M0256nobodyさん
03/07/29 00:16ID:kW5HsU6r★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安! スピード発送! 商品豊富!
★☆ http://www.get-dvd.com
☆★ 激安DVDショップ 「GETDVDドットコム」
★☆ http://www.get-dvd.com
☆★ 今すぐアクセス Let’s Go! 急げ!
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
0257252
03/07/29 19:22ID:wrNh0omf252のようなもの使うならperl使わずに
PHP使った方が無難。
速度はmod_perlならそんなにかわんないじゃないの?
といっても最近はテンプレートで表示するのが普通っぽくなってきたから
PHP+smartyもしくはmod_perl+html::templateのどっちか、
っていうわけか。
0258nobodyさん
03/07/29 19:22ID:al0J9pjRhttp://link.iclub.to/adalt/
http://link.iclub.to/amazon/
http://link.iclub.to/docomo/
http://link.iclub.to/google/
0259nobodyさん
03/07/29 22:16ID:VHYtOhh7バイナリにしてしまえば速度は速くなる?
0260nobodyさん
03/07/29 22:19ID:VHYtOhh7PHP(mod_php)に比べてmod_perlって何であんなに知名度に差があるの?
あとPHPはANHTTPDやIISなどにも対応してるけど、mod_perlは
Apacheのみだし・・・
0262nobodyさん
03/07/29 23:33ID:???0263nobodyさん
03/08/01 22:02ID:???mod_perlといえば、アパッチ::レジストリな訳で。
↓
アパッチ::レジストリといえば、オブジェクト指向必須な訳で。
↓
ところが、Perlのオブジェクト指向は痛い訳で。
↓
そんなもの使いたくないって訳で。
ってのが、現状だろう。
専用サーバだったら、他にも良い言語、アプリ鯖いっぱいあるしね。
mod_perlはマニアックなとても逸品です。
0264nobodyさん
03/08/02 01:05ID:???0265山崎 渉
03/08/02 02:23ID:???( ^^ )< ぬるぽ(^^)
0266ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:51ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0268nobodyさん
03/08/02 06:22ID:???んなの、プログラミングする人間の勝手だと思うがな。
0269nobodyさん
03/08/26 14:21ID:???>Perlで作成したモジュールを実行する際に1度だけモジュールがコンパイルされ、メモリに常駐する。
となってますがどのくらいの時間常駐するのでしょうか。
永続的な常駐ならサーバのメモリ食いつぶしちゃうような…
#一人だけならともかく皆がやったりすると
気にするほどでもない?
0270nobodyさん
03/10/08 23:31ID:TFC4ht6F0271nobodyさん
03/10/09 06:04ID:???0272nobodyさん
03/10/09 10:48ID:???共有でmod_perlは無謀と思うのだが
0273nobodyさん
03/10/10 05:29ID:BH1wn/9y0274nobodyさん
03/10/10 13:58ID:???0275nobodyさん
03/10/10 21:04ID:???ソースを書き換えたら直りますか?
0276nobodyさん
03/10/12 09:33ID:5sejX4lfシステム領域をオーバーライドするしか方法はないだろうけど。
suexecのソースを読んでみよう
0278nobodyさん
03/10/12 09:49ID:5sejX4lfApacheは例によってapacheユーザで動作。
カーネルに関わるプログラムをsetuidして子プロセスの実行権限を動的にするしかないんじゃないだろうか。
擬似的にApacheが複数のUIDで動作すると。suexecより危険度が増すけど
0279nobodyさん
03/10/12 12:02ID:???0280nobodyさん
03/10/12 13:30ID:5sejX4lf0281nobodyさん
03/10/12 13:31ID:???0282nobodyさん
03/10/12 13:53ID:5sejX4lfCPUが追いつかない。
Apache2なら可能性はあるが
0283nobodyさん
03/10/30 15:43ID:MsIzuyZ0そうすれば普及するだろうに。
0284nobodyさん
03/10/30 15:53ID:???0286nobodyさん
03/11/04 18:16ID:???・exit();関数は利用できない。代わりに、Apache::exit();を使うそうな。
・パッケージ名を明記すると500 Internal(以下略)。(例: $main::setup)
・SuExecが有効にならない
・もし何かあったら、Apache自体を再起動しなければならない
・mod_perl用に書いたPerlScriptをCGIとして動作させたら、多分動かない。
知っている限りで。(注:正確な情報ではありません)
0287nobodyさん
03/11/04 19:42ID:???互換性の問題は速度の代償として多少は仕方ないか。
>・もし何かあったら、Apache自体を再起動しなければならない
ここら辺はmod_phpでも同じなのでは?
0288
03/11/04 20:55ID:1kmjwkimhttp://bulknews.net/lib/doc-ja/etoys.ja.html
0289nobodyさん
03/11/04 22:08ID:???・Apache::Registry 使用時なら exit は Apache::exit でオーバーライド
されていたような。
・main パッケージを明示するようなコーディングスタイル自体が問題。
・CGI プログラムとして組まれているスクリプトは Apache::PerlRun で
動かす。mod_perl 前提のスクリプトを CGI プログラムとして使うのは
おかしい。
SuEXEC が効かないのと、httpd の肥え方が激しいのがネックだと思う。
まぁ後者はサーバ分ければいいんだけど。
あと mod_perl 入れたからといって CGI プログラムが使えなくなる
わけじゃないので、Apache::PerlRun でも動かんような糞スクリプトは
割り切って CGI プログラムとして使うのも手。
0290nobodyさん
03/11/05 00:00ID:???Apache::PerlRunで満足すんなYO!
ところでさア、お金貸して?
0291nobodyさん
03/11/16 07:02ID:???みたいな感じで、テキストを置換するシステム作ってたんだが
XeonMP 2.8G でさえ、30req/sがやっとこさだったのだが、
PerlRun にしたら、100req/s 程度まで向上した。
男はApache::Registryだろうということで、試してみたんだが、
案の定あちこち手を入れないとウゴカナカタよ。
それでも、バックエンドDBアクセスナシで700req/s
DB接続ありで200req/s行ける感触をつかんだので
かなり満足。
行き着く先はCでApacheモジュール化なのだが、そうすると
DBIのような統一インタフェイスが使えずDB依存になってしまうのが辛い。
上のカキコで PATH_INFO 云々の話が出てたが、ウチで試したときは
アクションハンドラとして呼ばれないときも
PATH_INFO=/
PATH_TRANSLATED=/path/to/www/ <- これファイルじゃネーし
とか出てきて少々面食らった。これはバグ? 実装上の都合?
0292nobodyさん
03/12/28 05:05ID:???0293nobodyさん
04/02/03 03:55ID:6SsHdaLm0294nobodyさん
04/02/10 21:22ID:YkFrJUBAmod_perl使ってる時にも通常のCGIとしてperlプログラム走るんですか?
0295nobodyさん
04/02/10 22:35ID:???0296nobodyさん
04/02/11 14:36ID:???HTML::Template使えますか。
0297nobodyさん
04/02/11 17:34ID:8Wm4X/2a皆さんは、
PerlSendHeader On
にしてますか?
mod_perlを使うなら Off だろ、とか、
漢なら Off にしとけ、とか、
なんかポリシーみたいなものってありますか?
0298nobodyさん
04/02/11 19:17ID:???/ ,――――-ミ
/ / / \ |
| / ,(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < mod_perlを使うなら Off だろ!
/| /\ \__________
0300nobodyさん
04/02/14 12:13ID:???Syntax error on line 159 of C:/Program Files/Apache Group/Apache2/conf/httpd.conf:
Cannot load C:/Program Files/Apache Group/Apache2/modules/mod_perl.so into server: 指定さ
れたモジュールが見つかりません。
_| ̄|○ファイルあるのに…
0301nobodyさん
04/02/14 12:46ID:???やっぱ、スクリプトの制限がキツくなるからってことでおk?
0302nobodyさん
04/02/14 13:15ID:???ISP屋の立場から言うと、suExecできないのが一番痛い
0303nobodyさん
04/02/14 17:02ID:???0305nobodyさん
04/02/14 21:57ID:???0306nobodyさん
04/02/16 00:45ID:???ってことはやり方が悪いという事かな……orz
>303
設計とかテストとかやるときはローカルのWin鯖でやってますが
UNIX版と違い出るんですか。
0308nobodyさん
04/02/16 12:42ID:???0310nobodyさん
04/02/16 16:28ID:???apache はwinネイティブで mod_perl が cygnus だったら 動かないとか。
もう少し詳しく書かないとなんとも言えないんじゃないかなぁ
0311nobodyさん
04/02/16 16:37ID:???ファイルは見つかっても何らかの原因でメモリへのロードに失敗している
というケースが実際にはほとんど
原因はバージョン不整合とかいろいろ考えられるが
まあ地道に切り分けるしかないな
0312nobodyさん
04/02/16 16:53ID:1pUxS5fUそして以下のテストスクリプトを二種類の方法でちゃんと動作しているのですが、
CGIとして呼び出されてるのか、mod_perl として呼び出されているのかサッパリでして、、
確認する方法ってのはありますか?
## /home/user/perl/test
#!/usr/bin/perl -w
use strict;
print 'content-type: text/plain; charset=EUC-JP' . "\n";
print "\n";
print join("\n", map "$_ = $ENV{$_}", sort keys %ENV);
## httpd.conf
Alias /perl/ /home/user/perl/
Alias /cgi-bin/ /home/user/perl/
<Location /perl>
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
PerlSendHeader On
</Location>
<Location /cgi-bin>
SetHandler cgi-script
Options ExecCGI
</Location>
http://hoge.com/perl/test -> OK.
http://hoge.com/cgi-bin/test -> OK.
0313nobodyさん
04/02/16 17:44ID:???#!/usr/bin/perl -w
use strict;
print 'content-type: text/plain; charset=EUC-JP' . "\n";
print "\n";
print `ps aux | grep perl`;
0314nobodyさん
04/02/16 17:55ID:???>'CGI-Perl/1.1' が設定されます。(通常CGIは 'CGI/1.1')
>また、'MOD_PERL' 環境変数が設定されます。(mod_perlのバージョンが設定される)
0315312
04/02/17 12:47ID:???返事ありがとう。
早速試してみようと思ったんですが、
なんか電源が入らない、、orz、、bios すら起動しねーーーー
出直してきます。。(つд`;)
0316312
04/02/18 19:28ID:???試して見ました。
## /perl/test
GATEWAY_INTERFACE = CGI-Perl/1.1
MOD_PERL = mod_perl/1.29
## /cgi-bin/test
GATEWAY_INTERFACE = CGI/1.1
問題なく動作しているようです、有難うございました。
ところで別の疑問なのですが、
CGI経由で動作している時には suEXEC で動作して欲しいと思って
suEXEC 有効にしてみました。
/perl/test -> nobody権限
/cgi-bin/test -> user権限
今の所正常に動作していると思うのですが、これって問題ない、、ですか?
どこのサイト見ても suEXEC は無効にしとけー、
てな事しか書いてなかったので少し不安なのです。
0317nobodyさん
04/02/18 20:04ID:???mod_perlが組み込まれている httpd のプロセスの中で動いてしまうのでsuexecは効かない
CGI経由で別プロセスで動かすからこそsuexecが有効
0318nobodyさん
04/02/29 04:50ID:yMfKis4MというCGIを自サーバーで動作させたのですが、試してみると結構な確率で真っ白な画面が
ブラウザに表示されます。
このCGIは実績があるのでこのCGIのせいではなくて、mod_perlのせいなのだと思うのですが、
解決策が全くわかりません。 助けてください・・・。
環境は、
OS: Redhat 9.0
WebServer: Apache1.3.29
mod_perl version 1.29
perl 8.5.1
です。
OS以外は全てソースからコンパイルしてインストールしました。
0319nobodyさん
04/02/29 05:49ID:???0320nobodyさん
04/02/29 07:26ID:???0321nobodyさん
04/02/29 11:32ID:???助けてやりたいのはやまやまだが
318 に書かれた情報だけでは何とも手の差し伸べようがない
error_log に何が吐かれてるか確認する前に 318 を書いたのだとしたら
君の罪は麻原並に重い
0323nobodyさん
04/02/29 11:41ID:???XREA
0324nobodyさん
04/02/29 12:07ID:???眺めたところそのスクリプトのせいのような気が……。
0325318
04/02/29 15:21ID:yMfKis4M>324
どの辺りか教えて頂ければ幸いです・・。 お願い致します。
>321
エラーは一切吐かれていませんし、ブラウザで500番エラーが
表示されることもありません。
0326nobodyさん
04/02/29 18:41ID:???mod_perl で動くかというとそうとは限らない。
0327nobodyさん
04/02/29 21:39ID:???0328nobodyさん
04/03/01 06:28ID:???mod_perlでは、正しく動きません。または、高速動作できません。
0329nobodyさん
04/03/01 10:01ID:???0330nobodyさん
04/03/01 22:21ID:???0331nobodyさん
04/03/02 21:16ID:O+pQat/oこれってmod_perlだけじゃなく、
全てのモジュールをstaticで構成しないと駄目だったのね。
mod_perlだけだと思って何度も何度もやり直してしまいました。。
■ このスレッドは過去ログ倉庫に格納されています