がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

telnet経由でHTTP叩くとき用メモ

telnetで80番叩いてから

GET http://domain/path/filename HTTP/1.1
User-Agent: Telnet [ja] (Linux)
Connection:close

または

GET /path/filename HTTP/1.1
Host: domain
User-Agent: Telnet [ja] (Linux)
Connection:close

これで、nameベースのvirtual hostでも普通にいける………はづ。
何か欲しい追記があったら後で追加予定。


2007/08/01追記
User-Agentがないといやがる事があるっぽいので追加。

Apache2にPHP5系をインストールしてみたりする実験

いろ〜いろ大変だったのですが。結局のところ大切なものは一つだけだったりしました。


./configure する前に必ず make clean すること!!


エラーメッセージとしては
httpd: Syntax error on line xxx of /opt/apache_2.2.3/conf/httpd.conf: API module structure `php5_module' in file /opt/apache_2.2.3/modules/libphp5.so is garbled - perhaps this is not an Apache module DSO?
とかって感じのものが予測されたりします。


…まぁ、本来必須ではあるのですが…最近あんまり意味のないmake cleanだったのですが。
どうやらMustだったようです(苦笑


ちなみに、これが通ったconfigureです。てんこ盛りなのは「色々やってる」からです(笑


./configure \
--with-config-file-path=/etc \
--with-apxs2=/opt/apache_2.2.3/bin/apxs \
--with-mcrypt \
--with-mysql= \
--with-gd \
--with-zlib-dir=/usr/lib \
--with-jpeg-dir=/usr/lib \
--with-png-dir=/usr/lib \
--with-freetype-dir=/usr/lib \
--with-pgsql=/opt/db/postgresql-8.0.3 \
--with-gmp \
--enable-zend-multibyte \
--disable-posix-threads \
--enable-mbstring \
--enable-ftp \
--enable-versioning \

Apacheでプロセス処理方法を切り替える

Apache2系のお話。なんか今更な気もするのですが。
なんでも、複数のrequestの処理をするのに、マルチプロセッシングモジュール(MPM)とかっていうモジュールを使っているみたいで。
昔々は「fork(2)だよねぇ」だったのですが、もうちょっとバリエーションがあるみたいです。びっくり。
概ね…


prefork.c
Apache1.3とほぼ同様、スレッドを使わずにforkでじゃかすかバージョン。
「スレッドセーフでないライブラリとの互換性をとるために、 スレッドを避ける必要のあるサイトでは、このモジュールの使用が適切でしょう。 あるリクエストで発生した問題が他のリクエストに影響しないように、 個々のリクエストを単離するのにも、最適な MPM です。」 by http://137.113.100.11/manual/ja/mod/prefork.html というのを読むと「なるほどなぁ」とか思わなくもない。確かにCGIで「threadをちゃんと意識した組み方」してるのってせいぜいJavaな方々ぐらいだと思ふ。


worker.c
一発forkしたら、ThreadsPerChild で設定された分だけはthreadにして、パンパンになったらまたforkして。ううむ確かに「ハイブリッド」 by http://137.113.100.11/manual/ja/mod/worker.html (笑


mpm_winnt.c
Windows NT 向けに最適化されたMPMなんだそうで。まぁつかわんなぁ(爆


って感じ。IfModuleでチェックされてたりするのでまぁ見てみそって感じでしょうか。
httpd -l
でチェックできるんでふが、特に設定してなければ普通は prefork.c になるらしいです by UNIX系。


インテリジェントになったものだなぁ。設定がより一層面倒になった気もするけど。