MacOS上でApacheのテスト環境を(久しぶりに)作成しています。
環境はこの環境です。
$ httpd -v
Server version: Apache/2.4.41 (Unix)
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.3
cgiを動かすために、/private/etc/apache2/httpd.confの
LoadModule cgi_module libexec/apache2/mod_cgi.soのコメントアウトを外そうとしましたが、
#LoadModule cgi_module libexec/apache2/mod_cgi.so ↓ LoadModule cgi_module libexec/apache2/mod_cgi.so
libexec/apache2/mod_cgid.soの記述がmpm_prefork_moduleに入っていました
プロセスを複数生成することで同時にリクエストを処理することができるようになるMulti Processing Module(mpm)
の機能のようですが、<IfModule mpm_prefork_module>に書かれているのは
なぜなのでしょうか。
ここ(173行目)のコメントを解除すると、動作しました。
!でmpm_prefork_moduleあるなしを分けているようですが、Apacehのマニュアルでは、以下の説明がありました。
最適化が施されていることと、以下で説明されている追加の ScriptSock ディレクティブを除いては、
mod_cgid は mod_cgi と同様の 動作をします。
Apache と CGI に関する詳細は mod_cgi の概要を読んでください。
まずはcgiが動きましたがこのあたりの理由・背景・事情をご存知の方がいらっしゃったら教えてください。
/private/etc/apache2/httpd.conf 169 <IfModule !mpm_prefork_module> 170 #LoadModule cgid_module libexec/apache2/mod_cgid.so 171 </IfModule> 172 <IfModule mpm_prefork_module> 173 LoadModule cgi_module libexec/apache2/mod_cgi.so 174 </IfModule>
High serriaのMacでは、165行目にこのように書かれていました。
163 #LoadModule asis_module libexec/apache2/mod_asis.so 164 #LoadModule info_module libexec/apache2/mod_info.so 165 LoadModule cgi_module libexec/apache2/mod_cgi.so 166 #LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so 167 #LoadModule dav_lock_module libexec/apache2/mod_dav_lock.so
$ httpd -v
Server version: Apache/2.4.33 (Unix)
Server built: Apr 3 2018 17:54:07
tutiMacBookAir:apache2 taro$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.6High serria
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/22 07:12 編集