apacheで常駐するプログラムの作成方法について

このQ&Aのポイント
  • サーバーでデータを収集するためには、apache上で常駐するプログラムを作成する必要があります。
  • apacheを使用することで、常に起動している状態でプログラムを実行することが可能です。
  • 使用可能な言語としては、perl、php、pythonがあります。
回答を見る
  • ベストアンサー

apacheに常駐するプログラムの作成について

サーバーでデータを収集するプログラムが作成しようと調査しています。 24時間実行させたいので最終的にはレンタルサーバーを使用しようと思います。 cronで定期的に実行させることも考えましたが、apacheならずっと起動していますので、常駐させられないかと調べています。 以前、仕事でweblogicを使用し、javaで常駐プログラムを実行していたのを見たことがあるので、apacheでも同様なことができないかと調査していますが、それらしい文献を見つけられず困っています。 apache上で動作する常駐プログラムの作成方法を教えていただけないでしょうか。 サーバーの環境は以下を想定しています。 OS:linux系 webサーバー:apache 使用可能言語:perl、php、python

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4844/10253)
回答No.1

単に無限ループにして常駐させれば良いだけです。 Apcheと関連づける必要性が無いです。

uone_laputa
質問者

お礼

ご回答ありがとうございます。 できればApacheで実行したと思っています。理由は、質問にも書きましたとおり最終的にレンタルサーバーでの稼働を考えており、デーモン等での常駐だと監視されてプロセスを強制終了されてしまいます。webサーバーでスレッドで常駐までは監視していないと思うので、負荷が抑えられれば終了させられるようなことはないと思い、webサーバーでの常駐にこだわっておりました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4844/10253)
回答No.3

>webサーバーでスレッドで常駐までは監視していないと思うので、 監視されてると思いますよ。共用レンタルサーバーでは無理では? てっきり、VPS等の専用サーバーの話かと思っていました。

uone_laputa
質問者

お礼

> 監視されてると思いますよ。共用レンタルサーバーでは無理では? > てっきり、VPS等の専用サーバーの話かと思っていました。 ご回答ありがとうございます。 一応、さくらの共用を考えてたんですが、スレッドまでみてますか。 収益性はないので、専用サーバーは予算上無理なんです。 cronでやるしかないですね。5分間隔とかも考えているので、起動のオーバーヘッドが嫌で常駐型を考えていました。

  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.2

常駐プログラムだとか、あたかもDOSの用語をつかっておられますが、Linuxでしょう。 だったらそういうことをするのはdaemonでしょう。 基礎の中の基礎ですよ。 SSHだってファイアウォール(iptable)だって、daemonですよ。 それをアクティブ状態にしておくかどうかは、Linuxによって多少違いますが、同じことです。 Linuxの本を一冊ちゃんと読んでみてください。

uone_laputa
質問者

お礼

ご回答ありがとうございます。 しかし、回答をみてがっかりしました。 結局、質問に対することはなにも回答できてませんよね。 それどころか、Linuxに関する本を一冊ちゃんと読んでくださいとは驚きました。 以前、自前のサーバーを構築するのにCentOS6に関する本を数冊読んだことがあります。その中には、shellやWebサーバーを始め、あなたがご指摘のsshやiptableについても書いてあり、ソースコンパイルから構築したこともありますよ。 また、仕事柄サーバーサイドのプログラミングが多かったのでUNIX系ではありますが構築からプログラミングまで、そこそこ経験しております。しかし、今回質問した内容についての記述は見たことがありません。 そもそもLinuxにおける常駐プログラムはdaemonですと用語にこだわっているようですがなぜですか? 技術者であれば「デーモンじゃダメなんですか?」「webサーバーで常駐させるのはどんな意味があるんですか?」等の質問を返しませんか? DOSを知っているところからするとIT業界に長くいて、知識は豊富なのでしょうが、的外れな回答から技術レベルには疑問を感じます。 ちなみにあなたの技術的な質問に対する回答はいつもこのようなものなのでしょうか。もしそうなのであれば、技術的な質問の回答者には向いていないと思いますよ。

関連するQ&A

  • プログラムを常駐させたいです

    python ~/test.py こんな感じで実行出来るプログラムがあり、これを常駐させたいです。 プログラム内でデーモン化することもできます。&をつけるという方法もあると思います。 このプログラムは例外をつけていますがたまに落ちることがあります。 cronなどで定期的に落ちているか確認する方法はありますでしょうか? 落ちていれば再実行したいです。 実行環境はCentOSです。

  • Apacheのログ出力方法とローテーションについて

    Apacheのログ出力方法とローテーションについて教えてください。 apacheとweblogicとJavaを使ってweb開発をしています。 現状、httpd.confでエラーログとアクセスログを出力していて、今度からWebLogicの プラグインログ(WLLogFile)を追加出力しようと考えています。 エラーログとアクセスログのログローテーションは別サーバのUNIXクーロンと作成した プログラムを用いて行なっていますが、今度追加するプラグインログをローテーション するとなるとそのプログラムに修正が入ってしまうため、それを避けるためにApacheの httpd.confのrotatelogsでログローテーションを行いたいと思っています。 色々調べて見てエラーログとアクセスログについてはログローテーションは できたのですが、WLLogfileで出力するログについてはローテーションが行なえません。 rotatelogsではそもそもエラーログとアクセスログ以外はローテーションできないのか、 それとも自分のやり方が間違っているのか分からなくなってきてしまったため、質問 させて頂いてます。 ちなみにプラグインログはhttpd.conf内で以下のように設定しています。 #Weblogic Config <IfModule mod_weblogic.c> WebLogicHost サーバのIPアドレス WebLogPort ポート番号 MachExpressoion *.* Debug ERR WLLogFile "C:/Apache/logs/wlproxy.log" ☆やりたいことのイメージ↓ #WLLogFile "|C:/Apache/bin/rotatelogs C:/Apache/logs/wlproxy.log 86400" </IfModule> 環境は以下です。 Apache/2.2.9(Win32) Windows Server 2003 宜しくお願いします。

  • ActivePerlをインストールしたいんですが、Apacheを使っています。

    サーバはApache1.3.24です。ActivePerl5.6.1をインストールしたいのですが、全然分かりません。pathとかの設定は必要なんですか?また、どのように、実行するとか、どこに、perlのプログラムを保存するとか、分かりません。 1通り、分からないのですが。。。教えて下さい。良いホームページでもいいです。自分では、良いホームページを見つけることができませんでした。 基本的なことは分かっていますが、perlは全然知らないので。。お願いします。httpd.confとかも設定するのですか?

    • ベストアンサー
    • Perl
  • Xサーバーのcronでcgiが自動更新されません。

    perl初心者です。RSSを取得してタイトルや内容をhtmlに吐き出すというプログラムを作成しています。Xサーバーで指定時間に指定コマンド(プログラム)を自動的に実行させるサーバーの機能(cron)といものがあったのでマニュアル  http://www.xserver.ne.jp/man_program_cron.php を見て自動更新しようと試みているのですがプログラムが実行されません。 hello.cgiというプログラムを実行しようとしているので マニュアルにある絶対パスの記入例の通り /home/●●●/▲▲▲/public_html/hello.cgi とXサーバーのCron設定で記入しています。自動更新の時間になったら「Cron結果の通知アドレス」で設定したメールは届くのですがプログラムは実行されてません。 cronの機能を使う際perlのほうで(ここではhello.cgi)何か記述する必要があるのでしょうか?もしくは何かモジュールとか必要なのでしょうか? ps. cron以外でもperlのプログラムを自動的に動かす方法があったら教えて下さい。宜しくお願いします。

    • ベストアンサー
    • Perl
  • Apache2でしぃペインターを動かすにはどうしたらいいのですか?

     AN HTTPD&ACTIVE PERLではしぃペインターでお絵かきが簡単に出来たのですが、APACHE2&ACTIVE PERLで出来るかどうか挑戦しているのですが苦戦しております。  なにをしているかというと、しぃペインターのプログラム群のように、拡張子がcgiのみじゃなく、.jar .js .jpxなどのように、JAVAも動作させるプログラムでは、APACHE2のhttpd.confをどのように設定したら良いのでしょうか? また、なにをすればしぃペインターが動作しますか?  Tomcatが必要かもしれないと思い、それもインストールしてBBSNOTEを動作させようとしましたが今のところ出来ていません。  良きアドバイスを御願いしますペコリ(o_ _)o))

  • [apache+tomcat]なぜ!?実行したらトムキャットが落ちる!?

    こんにちわ♪ アパッチとトムキャットを使ってJavaシステムを構築しています。 昨日まで順調に動いていたユーザ認証のプログラムが、本日リカバリーして 実行しますと、サーブレットの処理がうまくいかず、トムキャットは閉じ、 IEには「Internal Server Error」と表示されてしまいます。 アパッチはSTOPにはなっていないようです。 このような現象はどういうときに発生しますか? アパッチとトムキャットの連携設定にミスがあるのでしょうか??

    • ベストアンサー
    • Java
  • win xp でapache サーバ

    Win xp で apacheサーバ(apache_1.3.28-win32-x86)を使っていたのですが、パソコンのハードディスクが壊れたので修理し、再インストールしたら、cgiが実行できなくなってしまいました。どんな原因が考えられるでしょうか。 perl は perl -v で正常なメッセージが返ります。

  • ApacheとTomcat

    最近サーブレットの勉強を始めた。 webサーバにTomcatを使う、 またはTomcatとApacheを連携させて使う例しか見当たらなかったのですが、 サーバマシンにJ2EEを置き、Apache単体で動作させるということはできないのでしょうか? また、調べていくうちにTomcatはApacheと同じプロジェクト(?)というか、 同じところが開発しているように感じました。 単純にTomcatは「ApacheにJavaによるサーバサイドのプログラムが動くようにしたもの」 というわけではないみたいですが、どうなのでしょう? Apacheを改造してサーブレットを動くようにすればよかったのでは?と思うのですが、 そのへんの歴史的背景というか、 それぞれのできあがった背景みたいなものを簡単にでも解説頂けると幸いです。

    • ベストアンサー
    • Java
  • 自動メール返信システムの作成

    ユーザAが、メールをあるメールアドレス123@456.com(このアドレスはサーバ管理者のアドレスで固定です)に送信すると、そのメールがそのままユーザAに返信されてくるというシステムを作りたいのですが、何か良いアイディアがありましたら、教えて頂けると幸いです。 また、このシステムは常駐プログラム(fork, Perl)を用いて作成します。サーバからSMTPを用いて任意の送信先へメールを送信するプログラムはSocketモジュールを用いて作成、実行済みです。常駐プログラムも簡単ではありますが、forkを用いて実際に実行して確認しました。しかし、サーバへ届いたメールをそのままそのユーザへ返信するというプログラムが思いつきません。違うモジュールやプロトコルが必要になりますか? 長文になりましたが、少しでも良いので、何かアイディアがありましたら、ご教授お願いします。

  • cronで実行するプログラムにアクセス制限をかけたいです。

    cronで実行するプログラムにアクセス制限をかけたいです。 cron.phpをcronで3時間に1回実行しているのですが、誰かがこのcron.phpに直接アクセスしてきても同様のプログラムが実行されてしまいます。 これをcronからのみ実行できるように制限をかけたいのですが、どのようにするのが一般的なのでしょうか?.htaccessの基本認証等を使用するのですか? よろしくお願いしいます。