mod_perl2を複数起動する際のpidファイル指定

このQ&Aのポイント
  • mod_perl2を複数起動する際のpidファイルの指定方法について詳しく教えてください
  • mod_perl2を複数起動する際、pidファイルの指定に関する問題が発生しています。どのように解決すれば良いでしょうか?
  • mod_perl2を複数起動する際に、同じpidファイルが指定されてしまう問題が発生しています。どのように回避すれば良いでしょうか?
回答を見る
  • ベストアンサー

mod_perl2を複数起動する際のpidファイル指定

mod_perl2を複数起動する際のpidファイル指定 既にmod_perl2をインストール済みで動作していたのですが、今、1台のサーバ上で複数起動することを試しています。 設定ファイルやポート番号が重複しないようにして動してみた所、片方ずつならば指定した設定で起動できました。 が、二つを同時に起動すると同じpidファイル /usr/local/modperl2/logs/httpd.pid が指定されてしまい、後に起動した方が上書きしてしまいます。 lsof -i:xxxx など見てみても、片方ずつならば各指定したポートが開かれているものの、両方起動すると後から起動した方のみのポート開いている状態が確認できます。 mod_perl2起動時にpidファイルを指定するには、どうしたら良いでしょうか?

  • Perl
  • 回答数1
  • ありがとう数5

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

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

Apache httpd.conf の PidFile ディレクティブで位置を指定します。 起動する Apache 毎に違う場所を指定してください。

参考URL:
http://httpd.apache.org/docs/2.2/mod/mpm_common.html#pidfile
new_comer
質問者

お礼

教えて頂いた通り、PidFileディレクティブの指定で同時に複数起動することが出来ました。 ありがとうございます。

関連するQ&A

  • apache/mod_perlの実行エラーについて

    apacheについて質問です。分かる方、どうぞご教授下さい。 httpd.confにmod_perlの設定を記述しない場合、通常どおりapacheが起動するのですが、以下のようにmod_perlの設定を追記するとapacheがエラーで起動しません。 【mod_perlの設定】 PerlModule ModPerl::Registry PerlRequire /usr/lib/perl5/site_perl/5.8.8/startup.pl <Location /cgi-bin> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlSendHeader On Options ExecCGI </Location> 【apacheのエラー内容】 /usr/local/apache2/bin/httpd: symbol lookup error: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/ServerUtil/ServerUtil.so: undefined symbol: ap_get_server_banner httpd.confのmod_perlの設定については、他のサーバーでは問題なく起動していますので、mod_perlのconfigure時の共有ライブラリの設定に不備があるのではと思っているのですがどう設定すればいいのか分かりません。mod_perlのconfigure時のオプションは以下のようになっています。 【mod_perlのconfigure】 perl Makefile.PL \ > MP_USE_STATIC=1 \ > MP_AP_PREFIX=../httpd-2.0.63 \ > MP_AP_CONFIGURE="--prefix=/usr/local/apache2 --with-mpm=prefork" 以下、grep の実行結果です。 [root@colinux mod_perl-2.0.3]# grep -r ap_get_server_banner /usr/lib/* バイナリー・ファイル/usr/lib/httpd/modules/mod_rewrite.soは一致しました バイナリー・ファイル/usr/lib/httpd/modules/mod_proxy_connect.soは一致しました バイナリー・ファイル/usr/lib/httpd/modules/mod_proxy_ftp.soは一致しました どんな些細なことでも結構ですので、どうかご教授のほど宜しくお願い致します。 【環境】 fedora6 apache2.0.63 mod_perl2.0.4

  • MOD_PERL2.0の起動の仕方について

    以下のキーワードをDOS窓で入力して ppm install http://theoryx5.uwinnipeg.ca/ppms/mod_perl.ppd mod_perl.so(Mod_perlモジュール)をインストールしました。 そして、httpd.confに以下のコマンドを追加して、extra.plをhttpd.confと同じフォルダに置き ##Mod_perl## LoadFile "C:/usr/local/bin/perl58.dll" LoadModule perl_module modules/mod_perl.so PerlRequire "C:/Program Files/Apache2/conf/extra.pl" #Alias /perl/ "/Apache2/perl/" <Location /perl> SetHandler perl-script PerlResponseHandler ModPerl::Registry Options +ExecCGI PerlOptions +ParseHeaders </Location> ##Mod_perl## Apacheを起動してもDOS窓は、画面に何もコメントを表示しないまま閉じてしまいます。 Mod_perlモジュールをインストールしてから、Apacheを起動するには一体どの様にすれば 宜しいかどうか教えて下さい。 ちなみに私は以下URLを参照しました。 ホームサーバの構成 http://eazyfox.homelinux.org/etc/serverspec.htm Mod_perl2.0のWin32の説明 http://perl.apache.org/docs/2.0/os/win32/config.html extra.plの内容も上の両ページに書かれている内容を埋め込んでやってみましたがどちらも結果は同様です。 どうかご教授宜しくお願いします。

    • ベストアンサー
    • Perl
  • プリインストール済みのApacheにmod_perlのインストール

    当方、RedHatLinuxを利用しています。 インストール済みのApacheに、 mod_perlをインストールし、PerlからPostgreSQLにアクセスしようとしています。 このとき、httpd.confに設定情報を記述しなければならないハズですが、 どうやらmod_perlをインストールしなければならないことが分かりました。 しかし、どれをとってみても、 Apacheのソースをコンパイルする時に設定する情報しか得ることができませんでした。 大変申し訳ないのですが、 プリインストール済みのApacheにmod_perlをインストールすることはできるのでしょうか?

  • mod_perlでグローバル変数的なコーディング

    mod_perlに限ったことではないですが、グローバル変数はあまり使うべきではないとされていますよね。 しかし、スクリプト全体にわたって参照したい「設定値」のようなもの(よくある例としては、スクリプトの冒頭のほうで様々な設定をセットしておくような変数)の場合、いわば環境変数のように、複数のサブルーチンからでも必要時に参照できたほうが便利です。 このような使われ方で、かつ「おやくそく」に従ってグローバル変数を使わずに実現する方法は、ないものでしょうか。 シンボルテーブルを指定して無理やりメインルーチンのレキシカル変数を参照する、なんていう方法も考えてみましたが、どうも「美しくない」し、そもそも名前空間を侵害しているわけで、本末転倒です・・・ 皆さんはどのようにしているのでしょう。 御教授のほどお願いいたします。

    • ベストアンサー
    • Perl
  • mod_rewriteのRewriteMapについて

    初めて質問させていただきます。 mod_rewriteのRewriteMapの使い方について質問があります。 /etc/httpd/conf/httpd.conf に以下のように書きました。 <IfModule mod_rewrite.c> RewriteEngine on RewriteLog /etc/httpd/logs/rewrite_log RewriteLogLevel 2 RewriteMap userMap txt:/home/userMap/userMap.txt </IfModule> この状態で、Apache2を再起動すると、Apacheが起動する際に以下のエラーが出て起動できません。 -- httpd を起動中: Syntax error on line 1036 of /etc/httpd/conf/httpd.conf: RewriteMap: file for map userMap not found:/home/userMap/userMap.txt -- エラーメッセージは指定されたファイルがないと言うことだと思うのですが、指定した位置には確かにファイルがあることを確認しています。 ファイルの所有権や上位ディレクトリのパーミッションの関係なのかなと思って、いろいろ変えて試しているのですが、一向にうまくいきません。 RewriteMapのファイルを置く位置はどこがベストなのかとか、パーミッションや所有権などで気をつけるべきポイントなどを教えていただけると助かります。 よろしくお願いいたします。

  • Apacheでmod_rewriteを利用して複数ドメインを1個ですませる

    Apacheでmod_rewriteを利用して複数ドメインを1個ですませる方法を探しています。 rewriteマスターはいませんか? 現在virtualhostが数百ありますが、再起動速度が遅いこと、メモリ消費量が多いことから、1個ですませたいと思ってします。 <virtualhost></virtualhost>内でrewriteを利用して1個ですませる設定を教えていただけないでしょうか。 mod_vhost_aliasを考えましたが、他の設定も入れたいのでmod_rewriteでどうにかできないかと思っています。 教えていただけないでしょうか。

  • Excel でテキストファイルを開くときに「テキストファイルウィザード」を起動させたい

    Excel(Excel 2003)を「ファイル名を指定して実行」にて起動し(excel "C:\xxxx\xxx\xxx.txt")、Textファイル(.txt)を起動すると、Excel の機能の「テキストファイルウィザード」が起動されずにテキストファイルの内容がExcelのシートに展開されてしまいます。「テキストファイルウィザード」が起動されない為、区切り文字の指定ができず、特定の区切り文字を指定してファイルを開くことができません。 「ファイル名を指定して実行」にて、excel "C:\xxxx\xxx\xxx.txt" のように指定して実行した時に、「テキストファイルウィザード」が起動するように設定することはできませんでしょうか?

  • apacheのポートが使用されている?

    httpd startのコマンドを打って : (99)Cannot assign requested address: make_sock: could not bind to address 192.168.100.146:80 no listening sockets available, shutting down Unable to open logs この様なエラーが出てしまいました。80番のポートが使用されているらしいです。 それで "lsof -i:80"を打ったところ [root@kishimoto conf]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME firefox-b 3025 root 37u IPv4 23932 TCP 192.168.100.163:39713->64.233.189.104:http (CLOSE_WAIT) と出ました。"firefox-b"が80番のポートを使用しているみたいです。   ここで質問なのですが、"firefox-b"を移動させるにはどうしたらよろしいですか?それかapacheを別のポートに移動させる方法も可能なのですか? 以上です、ご協力よろしくお願いします。

  • Apacheを複数のhttpd.confを用いてる場合の再起動

    Apacheを複数のhttpd.confファイルを用いて運用している場合、 個々のhttpd.confを指定してのApache再起動は可能なのでしょうか? 試しに、httpd_1.confとhttpd_2.confを用いて実施してみましたけど、 エラーになってしまいました。 手順を踏まえての詳細を以下に示します。 1./usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd_1.conf コマンドでApacheを起動。 2./usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd_2.conf コマンドでApacheを起動。 3.その後Apacheを停止したらプロセスが残ってしまいました。

  • Linux(fedora5)でhttpdが起動しない

    httpdとmod_perlをインストール後、httpd.conf内のServerNameの部分を#をはずして、ホスト名.ドメイン名:80に変更し、アクセス制限のところを、order allow,deny Allow form 192.168.11.0/24と設定しました。 その後、fedoraのGUIでhttpdを起動させようとするのですが、起動してくれません。 よろしくお願いします。