X



2ch特化型サーバ・ロケーション構築作戦 Part23

■ このスレッドは過去ログ倉庫に格納されています
NGNG
2ch特化型サーバ・ロケーション構築作戦のスレッドです。

・2ちゃんねるのサーバロケーション、PIEに関する関連作業・調整事項
・DNS登録・変更関連の各種作業や調整事項
・2ちゃんねるのサーバで採用しているOS、FreeBSDに関する情報・調整事項
・各種作戦・プロジェクトとの連携、プロジェクト間の連携

等を取り扱います。

現在、複数サーバによる連携により、
サーバ能力のさらなるスケールアップをめざすための「雪だるま作戦」が進行中です。
しかし、問題はあらゆる意味で山積の状態です。

特に、成熟度を高めたリリースであるはずの FreeBSD 6.1R において、
amd64 アーキテクチャでの突然のハングアップの不具合が、深刻な問題となっています。

前スレ
http://qb5.2ch.net/test/read.cgi/operate/1150052911/
2006/11/18(土) 02:59:58ID:t2PqAaQ+0
tv8!tv8!
2006/11/18(土) 04:53:22ID:LIa01R2I0?BRZ(5799)
お、6.2-RC1が出ましたか。
742ょぅι゙ょの見物人 ◆YoJo69//rM
垢版 |
2006/11/18(土) 08:31:30ID:uMqtqeOP0
全部i386にしてしまえばいいんじゃないの?
2006/11/18(土) 09:42:52ID:fz5gCb4k0?2BP(3800)
>>742
tiger鯖強化みたいに?
確かにWoodcrest*2程度ならいけそうに見えるけど
744root▲ ★
垢版 |
2006/11/18(土) 14:45:58ID:???0?PLT(20002)
>>739
> ACPI周りはどうでしょ?もうやってるとは思いますが、、
> いくつか自分の周りでも、ACPI無効で動かしてるのがいますね。

AMD64 って、device acpi をやめても SMP でちゃんといけるんでしたっけ。
昔(5.2.1R の頃ですが)、acpi を切ると SMP がうまく動かなかった
(CPU を一つしか認識しない)ような気がします。

> あ、止まる、っていうのは再起動する、というか
> カーネルパニックを起こす、とかもなく固まる、ということかな?

そうです。いきなり止まって、ping もかからなくなる。
5.2.1R の頃に i386/amd64 の双方で起こっていた症状と同じでした。
2006/11/18(土) 16:57:22ID:oqVXNt9z0
6.0ではacpiをロードさせないでSMPにして
問題は起きてないですね。(確かamd64だったと思います。確認してみよう)
なので、今は修正されてると思います。
acpi無効だとSMPで動かない、っていうのは結構コアな問題だと思うし。。
nextbootとか使って、試してみても損はないかも。

>いきなり止まって、ping もかからなくなる。
NIC周りに問題、とかはどうでしょう?KVM等から叩いててもだめなのかな?
PCI側がだめで、NICをきちんと認識しなくなるって聞いたことがあります。
746root▲ ★
垢版 |
2006/11/19(日) 01:09:28ID:???0?PLT(20002)
>>745
> 6.0ではacpiをロードさせないでSMPにして
> 問題は起きてないですね。(確かamd64だったと思います。確認してみよう)
> なので、今は修正されてると思います。

なるほどです。

> acpi無効だとSMPで動かない、っていうのは結構コアな問題だと思うし。。
> nextbootとか使って、試してみても損はないかも。

ありがとうです。作業の際に試してみることにするです。

> >いきなり止まって、ping もかからなくなる。
> NIC周りに問題、とかはどうでしょう?KVM等から叩いててもだめなのかな?

だめですね。コンソールも全部ハングアップしました。
Ctrl-Alt-Del も、何も効かなかったです。
(カーネルデバッガに落とすやつは、試していないです)

> PCI側がだめで、NICをきちんと認識しなくなるって聞いたことがあります。

ふうむ、、、。
該当サーバの NIC は bge です。
マザボは HDAMA ですね。
747ょぅι゙ょの見物人 ◆YoJo69//rM
垢版 |
2006/11/19(日) 08:01:50ID:QsgvKfb30
>>742
んにゃ
っていうか、FreeBSDで安定しているのって、i386だろ?やはり
2006/11/19(日) 09:54:28ID:bMqN9VJ/O
まぁメモリ、PAE関係かな
2006/11/19(日) 11:35:51ID:NJC9OOV50
>>746
うちのところはemでした。bgeはなかったorz

HDAMAのボードには32bitのPCIバスが2つあるようですが、
そこで何かデバイスを使ったりしてるのかな?と。
思い当たるのって、そこぐらいしかないかなぁ。。
2006/11/21(火) 15:57:27ID:q9px14VS0
>>746
登録日が俺の誕生日w
今日は○○回目の誕生日・・・


誰かポイント恵んで〜
2006/11/21(火) 15:58:03ID:q9px14VS0?2BP(3484)
be付け忘れたw
2006/11/21(火) 23:41:38ID:kJlfWnKL0?BRZ(6677)
うほっ♪
ttp://www.apple.com/jp/xserve/
753root▲ ★
垢版 |
2006/11/22(水) 01:08:08ID:???0
>>752
林檎サーバですか。
なかなかかっちょいいかも。
754ひろゆき@どうやら管理人 ★
垢版 |
2006/11/22(水) 01:11:12ID:???0?S★(101301)
http://www.drk7.jp/MT/archives/000767.html
こういうチューンアップもあるんすねぇ。。
2006/11/22(水) 01:16:17ID:0JXBm57X0
iccを使うのはアプリケーションの高速化ではよくある手だな。
756root▲ ★
垢版 |
2006/11/22(水) 01:27:31ID:???0?PLT(20002)
>>754-755
icc ですね。
前にもやってみようと思ったことがあるけど、一度どこかで試してみますかね。
2006/11/22(水) 05:04:46ID:Jd+1heox0?BRZ(6666)
クアッドコアなんて萌えだわ!
しかも林檎さんだもんな〜♪
2006/11/22(水) 17:24:43ID:rh+2ZgbD0
>>756
もちろんVIPで。

失敗した場合、運用板が爆撃されるリスクがありますけど。。。。
2006/11/22(水) 17:28:43ID:rh+2ZgbD0
>>752
クアッドコアのデュアルプロセッサ・・・と思ったら、まだ仕様のページがデュアルコアのままで更新されていないorz
2006/11/22(水) 21:18:28ID:c8hfKEgZ0?2BP(3800)
2chのbanana鯖、tiger鯖は何処製ですか?
761root▲ ★
垢版 |
2006/11/22(水) 23:40:56ID:???0?PLT(20002)
>>760
http://www.polywell.com/us/index.asp
762root▲ ★
垢版 |
2006/11/23(木) 00:22:30ID:???0?PLT(20002)
ここまでの備忘メモ:

1) game11 のサーバ側準備はできています(リフレッシュ工事)。
DNSも登録されているようです。私のところからはアクセスできました。

http://game11.2ch.net/

2) be2.2ch.net のサーバ側準備はできています。
DNS 登録すればアクセスできるようになります。

以下のDNS登録をする必要があります。
管理人からしかるべき人に依頼していただくかんじで。

+be2.2ch.net:206.223.157.7:300
763root▲ ★
垢版 |
2006/11/24(金) 02:50:09ID:???0
例の read.html で使用している pastdat.so を利用して、
過去ログ倉庫に、、、の表示を、
雪だるま版 read.cgi でもできるような気がするけど、どうなのかな。
2006/11/24(金) 07:18:40ID:XcIWQbxg0
>>763 いや,まさに pastdat.so の開発意図としてはその点も視野に入れてたわけでw
quick hack としては,read.c 中のサブリクエストで dat を取ってくる部分の
    rdat->status == HTTP_OK
    rdat->status != HTTP_OK
をそれぞれ
    ap_is_HTTP_SUCCESS(rdat->status)
    !ap_is_HTTP_SUCCESS(rdat->status)
にするだけで一応何とかなります.丁寧にやるにはもうちょっと手を加える必要はありますが.
765root▲ ★
垢版 |
2006/11/24(金) 18:52:07ID:???0?PLT(20002)
>>764
> >>763 いや,まさに pastdat.so の開発意図としてはその点も視野に入れてたわけでw

なるほど、そうでしたか。

> quick hack としては,read.c 中のサブリクエストで dat を取ってくる部分の
> rdat->status == HTTP_OK
> rdat->status != HTTP_OK
> をそれぞれ
> ap_is_HTTP_SUCCESS(rdat->status)
> !ap_is_HTTP_SUCCESS(rdat->status)
> にするだけで一応何とかなります.丁寧にやるにはもうちょっと手を加える必要はありますが.

ん、一応何とかなる、というのは、
どういう意味ですかね。
2006/11/24(金) 20:40:00ID:XcIWQbxg0
>>765
>ん、一応何とかなる、というのは、どういう意味ですかね。

read.cgi 的にはライブな dat と区別しない扱いになる
(pastdat.so から送られた内容をライブな dat と同じ形式で表示する)
ってことですね.例えば http://dso.2ch.net/myanmar/dat/1155416372.dat
をライブな dat と同じ扱いで表示したらどうなるか,と考えてもらえばわかるかと.

そこを丁寧に対応するなら,過去ログの場合 rdat->status == HTTP_OK でなく
rdat->status == HTTP_NON_AUTHORITATIVE になるので,これで場合分けして処理すると.
767root▲ ★
垢版 |
2006/11/25(土) 19:25:26ID:???0?PLT(20002)
>>766
> read.cgi 的にはライブな dat と区別しない扱いになる
> (pastdat.so から送られた内容をライブな dat と同じ形式で表示する)
> ってことですね.

なるほど、そういうことですか。
サブリクエストを出した結果として、pastdat.so の出力をもらうと。

# 今日街を歩いていて、突然に理解できました。
768root▲ ★
垢版 |
2006/11/26(日) 22:37:06ID:???0?PLT(20002)
で、ふと思ったんですが、
これって専用ブラウザ的にも、問題ないのかしら。

ようは、dat 直読み => 302が返る => offlaw.cgi を起動、
という流れになるのか、つまり 302 が返るのか、ということが
ちと気になったです。
2006/11/26(日) 22:51:35ID:DwXyHoXv0
>>768 User-Agent が Monazilla を含んでる場合は従来通り (302) です.
770root▲ ★
垢版 |
2006/11/26(日) 23:14:06ID:???0?PLT(20002)
>>769
なるほど、UA でやっているですか。
2006/11/27(月) 20:21:56ID:R+8aL36a0
こんな話を前にもしたような気がする
772root▲ ★
垢版 |
2006/11/27(月) 22:53:48ID:???0?PLT(20002)
■ live22 バックエンドの HDD が逼迫しはじめている模様。

Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da1s1f 29633058 25112844 2149570 92% /home

www2bにあったスタティックなコンテンツ(古い過去ログ)を
一部 memories に移動し、少しだけ容量を確保したものの、
かなりの勢いで減少している状態。

ということで live22x 系列は、年内にはリフレッシュ工事が必要になりそうな予感。
773root▲ ★
垢版 |
2006/11/27(月) 22:59:33ID:???0?PLT(20002)
>>772 は、単純に投稿によって HDD が減少している状態のようですね。

いろいろ見てみましたが、異常により減少しているのではなく、
live23 に分ける前の状態(実況全部 + news)で運用した際に、
HDD を大いに消費したという。

# しかし、ちと驚いたかも。
2006/11/28(火) 05:00:21ID:7tS6BBYF0?BRZ(5799)
凄いですね。。(大汗
775root▲ ★
垢版 |
2006/11/28(火) 13:20:24ID:???0?PLT(20002)
>>774
テキスト(というか dat)だけなんですけどね、、、。
すごいな、というかんじで。
2006/11/28(火) 14:54:35ID:BniWSwiN0
テキストだけで28.2GBですか!すごすぎ・・・・
2006/11/28(火) 15:42:30ID:XXg7yTIx0
ほとんどが意味のない情報なのに28.2GB
2006/11/28(火) 18:15:32ID:2pJfii8W0
キタ━━━━━━(゚∀゚)━━━━━━ !!
だけで数Gありそう…
2006/11/29(水) 09:55:25ID:JxedjbrY0
ソフト圧縮のディスクに入れたりするとサイズとディスクアクセスが減ってウマー?
FreeBSDってそういう機能のある?
2006/11/29(水) 15:20:55ID:9S1s/LUV0
そういえばディスク容量というと、memoriesの/homeあたりはたまっていそう。
まあ1.5TBでまだまだ拡張可能だから問題はないと思いますが。
781root▲ ★
垢版 |
2006/12/05(火) 00:34:21ID:???0?PLT(20002)
年末に向けて、バックエンドからの dat 読み出しのパフォーマンスを上げるべく
thttpd を調べ中。

いろいろ、癖があるっぽい。

1) x ビットが立っていて cgi ではないと認識された場合、
ファイルを読み出すことができないようになっている。
セキュリティ上の問題とのことだが、これだと 2ch では
1000 いったりスレストしたりした dat は、読み出すことができなくなる。

2) セキュアでないと判断したシンボリックリンクを読んでくれない。
例えば、絶対パスのシンボリックリンクとか読んでくれない。
これだと 2ch では、livecx -> /md/ch2むにゃむにゃ/livecx みたいなリンクを
読んでくれないことになる。

3) 403 や 404 エラーの 302 を返す形でのリダイレクトができないっぽい。
これだと 2ch では、専用ブラウザの動作に影響が出る。

1) は簡単なパッチで回避でき、
2) は /md/ch2むにゃむにゃ を基点にして thttpd を起動すればいいっぽいけど、
3) はちょっと困るかも。
2006/12/05(火) 00:35:56ID:7IdALbbc0
あれ、スレストってxビット立ててたん?
wビットを落としてるだけかと思った
783root▲ ★
垢版 |
2006/12/05(火) 00:42:02ID:???0?PLT(20002)
伝統的に、そうなっていますね。
chmod 555 していると。

ちなみに bbsd もそれを尊重してか、そうなっているようです。
784root▲ ★
垢版 |
2006/12/05(火) 00:44:05ID:???0?PLT(20002)
あと、高パフォーマンスといわれている httpd サーバって、
どんなのがあるのかしら。

・CGI は動かなくていい(dat等の読み出しに特化)
・403 エラーと 404 エラーのリダイレクト機能はほしい
2006/12/05(火) 00:54:13ID:FBCjfZV40
lighttpdというのがあるようです。
ttp://www.lighttpd.net/

使ったことはありません。
2006/12/05(火) 00:59:59ID:XINHPjA70?2BP(1009)
>>784
前に言っていた、lighttpdとかesehttpdやら、最近では
LiteSpeedなるものまでありますねぇ。

リダイレクトに関してはどうなんだろう・・・・・・
2006/12/05(火) 01:26:21ID:Td76qj3Q0
極限まで設定をスリム化した Apache も選択肢の一つかなぁ,と言ってみる.
788root▲ ★
垢版 |
2006/12/05(火) 01:31:40ID:???0?PLT(20002)
>>787
それもありかもしれないですね。

・モジュールを減らす
・モジュールを入れ込みにする
・.htaccess を読まないことにする(ちょっと乱暴かな)

あと、どのへんがありますかね。
2006/12/05(火) 01:40:35ID:RP/i0JE/0
>>781
3) 302決め付けの専用ブラウザはほっとこう

と、ちょっと乱暴なことを言ってみるけど
そういえばsports2は404です。
790root▲ ★
垢版 |
2006/12/05(火) 01:57:36ID:???0?PLT(20002)
明日以降まずは、>>787 にトライしてみるか。
機能をしぼればいいわけだし、削っていくのは面白そうかも。
2006/12/05(火) 02:16:09ID:Td76qj3Q0
>>788 port 1024 以降で走らせるなら root 権限もいらなくなるんで,
.htaccess なしでもいいかも(随時 httpd.conf いじれるし).
で,あとはこのあたりをおさらいしつつ......
http://httpd.apache.org/docs/2.2/misc/perf-tuning.html

注意点は,いろいろ機能を落とした場合 CGI ファイルにアクセスすると
プレーンテキストとして中身丸見えになるなどのおそれがあるので,
/*/dat/*.dat 以外は Deny するように設定すべき,ってことかな.
2006/12/05(火) 07:46:34ID:Td76qj3Q0
>>791 subject.txt, subback.html, index.html も Allow にする必要があったか.

<LocationMatch "^/\w+/(?:|subject\.txt|(?:subback|index)\.html|dat/(?:\d+\.dat)?)$">

の場合だけ Allow でそれ以外は Deny と.もし pastdat.so で過去ログの確認も可能にするなら

<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html|dat/(?:\d+\.dat)?)|test/pastdat\.so)$">

必要なモジュールは mod_authz_host (mod_access), mod_autoindex, mod_dir ぐらいかな.
あとは,pastdat.so を使うなら mod_cgidso も使うか.
2006/12/05(火) 16:34:07ID:lmGiqHyc0
とりあえずこちらになげてみましょうか。

サン・マイクロシステムズ Try&Buyプログラム TX000系
ttp://jp.sun.com/promotions/trybuy/sunfiret.html

他の製品も2ヶ月無償で借りられます。
794root▲ ★
垢版 |
2006/12/07(木) 11:42:23ID:???0?PLT(20002)
年末特番に向けて:

1) 6.2R/amd64 を試してみる(6.2R が出ればすぐ、出なくても 6.2-RC1 を試行)
- dual CPU での設定
2) バックエンドの dat 供給用 Apache の軽量化

このあたりを。
795root▲ ★
垢版 |
2006/12/07(木) 11:45:57ID:???0?PLT(20002)
で、-RC2 を作るそうで、
かつそれも二度延期されているので、
-RC1 で、そろそろやってみることになるのかなと。
2006/12/07(木) 13:29:51ID:OeY7+lXa0?BRZ(5799)
年内にRC2は難しいんじゃないですかね。。

RC1で試してみる方がいいのかな?
後で慌てるより、静かな今の時期が一番良いかも。
2006/12/07(木) 14:31:52ID:TtQRkXR80
で、どのマシンでやるんでしょう?

もちろんex系だと思っていますが・・・・
798root▲ ★
垢版 |
2006/12/07(木) 16:41:15ID:???0?PLT(20002)
6.2 を最初に試すのは news20 (news20b) と決めているです。
たぶん、12月10日前後(つまり今週末)あたりかなと。
nextboot とか使って、強制リブートすると single CPU で上がるようにするとか、
最初はそんなかんじで試すと思います。

で、news20 で動かしてみて問題なければ、
本命の live23 (live23b) で動かそうかと。
年末特番に間に合わせるべく、12月20日あたりが目標かなと。
799root▲ ★
垢版 |
2006/12/07(木) 16:43:16ID:???0?PLT(20002)
で、年内に試すのは、たぶん news20b と live23b の2台だけかなと。
2006/12/07(木) 22:34:33ID:1WiR0RCc0?BRZ(6677)
(´-`).。oO(2ちゃんねる鯖全root化計画。。。)
2006/12/07(木) 22:54:24ID:zj+URHnO0
おかねがかかりそう
802root▲ ★
垢版 |
2006/12/07(木) 23:07:50ID:???0?PLT(20002)
>>792 を、ぼそぼそと設定中。

<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html|dat/(?:\d+\.dat)?)|test/pastdat\.so)$">
Order allow,deny
Allow from all
</LocationMatch>

でいいのかな。

で、それ以外を全面禁止にするには、どうすればいいのかしら。
2006/12/07(木) 23:13:28ID:E59ivIXm0
>>802

<Directory />
    Deny from all
</Directory>

かな......
804root▲ ★
垢版 |
2006/12/08(金) 00:49:03ID:???0?PLT(20002)
>>803 どもです。
というか、ports 的には入っているですね。
とすると、バーチャルホストも要らないわけか。

少しずつ雪だるまの内部ネットワークで試していますが、

GET /livecx/dat/ HTTP/1.1
Host: live23.2ch.net

とやると、

[Thu Dec 07 07:45:42 2006] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/xxxxxx/public_html/livecx/dat/index.html

のようになるですね。

この場合、dat のディレクトリインデックスを表示してほしかったりするわけですが、
どうすればいいのかしら。
805root▲ ★
垢版 |
2006/12/08(金) 00:50:41ID:???0?PLT(20002)
で、モジュールはこのぐらいまで減らしました。
まだ、減らせるのかな。

LoadModule authn_file_module libexec/apache22/mod_authn_file.so
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
LoadModule log_config_module libexec/apache22/mod_log_config.so
LoadModule logio_module libexec/apache22/mod_logio.so
LoadModule setenvif_module libexec/apache22/mod_setenvif.so
LoadModule mime_module libexec/apache22/mod_mime.so
LoadModule status_module libexec/apache22/mod_status.so
LoadModule autoindex_module libexec/apache22/mod_autoindex.so
LoadModule dir_module libexec/apache22/mod_dir.so
LoadModule alias_module libexec/apache22/mod_alias.so
LoadModule cgidso_module libexec/apache22/mod_cgidso.so
806root▲ ★
垢版 |
2006/12/08(金) 01:05:49ID:???0
>>805
LoadModule rpaf_module libexec/apache22/mod_rpaf.so

を追加(ログとり等のため)。
807root▲ ★
垢版 |
2006/12/08(金) 01:22:31ID:???0
>>805
LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so

も必要ですね。
システムチェック用に、パスワード認証しているところがあった。
# ということは、なくすこともできるわけか。
808root▲ ★
垢版 |
2006/12/08(金) 01:36:47ID:???0?PLT(20002)
>>804 は、dat/index.html も許してやればいいのかな。

>>802 を直せばよさげだけど、今日は既に頭が回らないですね。
ということで、いったんこのへんで。
2006/12/08(金) 02:54:09ID:cR0PtF7n0
>>804-808 乙です.

>GET /livecx/dat/ HTTP/1.1
>Host: live23.2ch.net
>
>とやると、
>
>[Thu Dec 07 07:45:42 2006] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/xxxxxx/public_html/livecx/dat/index.html

Options に Indexes が入ってないとか......

あと,ForceType とか使えば AddType 使わなくて
済みそうなので mod_mime もいらないかもとか......
mod_alias や mod_setenvif は何か使ってるんでしょうか......
810root▲ ★
垢版 |
2006/12/08(金) 11:32:26ID:???0?PLT(20002)
>>809
> Options に Indexes が入ってないとか......

Indexes は入っているです。

該当部分を Allow すると autoindex に渡された結果が正常に見られるので、
index.html がないことを確認するところで、ひっかかっているようです。

> あと,ForceType とか使えば AddType 使わなくて
> 済みそうなので mod_mime もいらないかもとか......

<IfModule mime_module>
TypesConfig etc/apache22/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
</IfModule>

ここをはずせるようにすればいいと。
811root▲ ★
垢版 |
2006/12/08(金) 11:36:44ID:???0?PLT(20002)
> mod_alias や mod_setenvif は何か使ってるんでしょうか......

mod_alias は autoindex の時のアイコン関係ですね。

Alias /icons/ "/usr/local/www/apache22/icons/"

ということは、 public_html/icons に同じものを入れ込めばいいのかな。

mod_setenvif はこれですね。
携帯の時に KeepAlive しないという。

所詮 dat と index.html / subback.html / subject.txt しか供給しないんだから、
KeepAlive をとめてしまうという手もあるのかしら。

<IfModule setenvif_module>
BrowserMatch "DoCoMo" nokeepalive
BrowserMatch "KDDI" nokeepalive
BrowserMatch "UP.Browser" nokeepalive
BrowserMatch "J-PHONE" nokeepalive
BrowserMatch "Vodafone" nokeepalive
BrowserMatch "SoftBank" nokeepalive
BrowserMatch "DDIPOCKET" nokeepalive
BrowserMatch "WILLCOM" nokeepalive
</IfModule>
812root▲ ★
垢版 |
2006/12/08(金) 11:39:22ID:???0?PLT(20002)
あ、ていうか /icons は所詮 mod_proxy っていうぐらいで、
フロントから読むのか。

だったら、バックエンドで Alias しなくてもいいわけかな。
2006/12/08(金) 11:46:34ID:cR0PtF7n0
>>810-812
>Indexes は入っているです。
>該当部分を Allow すると autoindex に渡された結果が正常に見られるので、
>index.html がないことを確認するところで、ひっかかっているようです。

なるほど......となるとこんな感じかな?

<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html|dat/(?:|\d+\.dat|index\.html))|test/pastdat\.so)$">

>TypesConfig etc/apache22/mime.types

*.dat と subject.txt の類だけを返すなら,MIME type の定義もいらなさそうな......
その他のファイルは CGI 等を走らせる汎用 httpd の方に任せればいいし.

>AddType application/x-compress .Z
>AddType application/x-gzip .gz .tgz

昔の過去ログは圧縮してたのがあったと思いますが,今もやってるんでしょうか?
まぁ,それもさほどアクセスが多くなければやはり汎用 httpd に回すってことで.

>Alias /icons/ "/usr/local/www/apache22/icons/"
>ということは、 public_html/icons に同じものを入れ込めばいいのかな。

ですね.そういうのはフロントから直接でもいいですし.

>携帯の時に KeepAlive しないという。

携帯はバックエンドには直接アクセスしないので,フロントだけ設定しておけばいいような......
2006/12/08(金) 19:23:28ID:apgaP6L30
>>811
>KeepAlive をとめてしまうという手もあるのかしら。

フロント5台しかバックエンドにはアクセスしないんだから
そしてそのアクセス数はものすごいんだから
KeepAlive切るとむしろフロントの負荷が上がるはず
815root▲ ★
垢版 |
2006/12/08(金) 20:10:42ID:???0?PLT(20002)
>>813
> >>810-812
> >Indexes は入っているです。
> >該当部分を Allow すると autoindex に渡された結果が正常に見られるので、
> >index.html がないことを確認するところで、ひっかかっているようです。
> なるほど......となるとこんな感じかな?
> <LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html|dat/(?:|\d+\.dat|index\.html))|test/pastdat\.so)$">

403 にはならなくなりましたが、一覧は、

[Fri Dec 08 02:53:19 2006] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/xxxxxxxx/public_html/livecx/dat/1165573501.dat
[Fri Dec 08 02:53:19 2006] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/xxxxxxxx/public_html/livecx/dat/1165573505.dat
[Fri Dec 08 02:53:19 2006] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/xxxxxxxx/public_html/livecx/dat/1165573525.dat

となってしまうみたいです。

でも、個別の dat は、

GET /livecx/dat/1165572948.dat HTTP/1.1
Host: live23.2ch.net

のように正しく読めます。
816root▲ ★
垢版 |
2006/12/08(金) 20:21:10ID:???0?PLT(20002)
> >TypesConfig etc/apache22/mime.types
> *.dat と subject.txt の類だけを返すなら,MIME type の定義もいらなさそうな......
> その他のファイルは CGI 等を走らせる汎用 httpd の方に任せればいいし.
> >AddType application/x-compress .Z
> >AddType application/x-gzip .gz .tgz
> 昔の過去ログは圧縮してたのがあったと思いますが,今もやってるんでしょうか?
> まぁ,それもさほどアクセスが多くなければやはり汎用 httpd に回すってことで.

やってみましたが、
mod_mime をはずすと、AddHandler が使えないみたいです。
で、これがちと、、、。

AddHandler dso-script so

ん、でもこの httpd 配下では test/ の下は pastdat.so (とanydat.so) しかアクセスしない
とすると、ForceType してしまえばいいのかしら。

> >Alias /icons/ "/usr/local/www/apache22/icons/"
> >ということは、 public_html/icons に同じものを入れ込めばいいのかな。
> ですね.そういうのはフロントから直接でもいいですし.

mod_alias をはずしました。

> >携帯の時に KeepAlive しないという。
> 携帯はバックエンドには直接アクセスしないので,フロントだけ設定しておけばいいような......

mod_setenvif をはずしました。
817root▲ ★
垢版 |
2006/12/08(金) 20:21:52ID:???0?PLT(20002)
>>814
そんな気が私もします。
ということで単に「携帯だけやらない」を、はずすのみで。
818root▲ ★
垢版 |
2006/12/08(金) 21:40:14ID:???0?PLT(20002)
>>815
# XXX dat directories/files
<DirectoryMatch "^/home/xxxxxxxx/public_html/\w+/dat">
Order allow,deny
Allow from all
</DirectoryMatch>

これを入れると読めるですね。
やや挙動不審ですが、とりあえず回避はできそうと。
2006/12/08(金) 21:55:20ID:cR0PtF7n0
>>815-818 乙です.

>403 にはならなくなりましたが、一覧は、
> (ry
>となってしまうみたいです。

う?む...... autoindex の場合は <Directory> で許可しないとダメなのかなぁ......

<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html)|test/pastdat\.so)$">
<Directory "/home/ch2*/public_html/*/dat">

の二つに分けて,それぞれで Allow にすればいいのかな......?
まぁつまり >>818 ですが,二つに分けるなら <LocationMatch> からは
dat の部分を外して,<Directory> では regex を使わない方が
regex match の処理は若干軽くなるかも......

>mod_mime をはずすと、AddHandler が使えないみたいです。
>で、これがちと、、、。
>↓
>AddHandler dso-script so

<Files *.so>
    SetHandler dso-script
</Files>

でいかがでしょう.

>test/ の下は pastdat.so (とanydat.so) しかアクセスしない

pastdat.so / anydat.so はどちらか片方だけ使えば Ok です.
pastdat.so は dat が存在しない場合に ErrorDocument で振られるようにして使い,
anydat.so は dat に対する全アクセスを RewriteRule とかで振られるようにして使う,と.
read.html も使うなら anydat.so の方がいいですけど.

life7 では昨晩から dat へのアクセスが全部 anydat.so 経由になってますが,
負荷はほとんど変わってないようですね.
http://mumumu.mu/mrtg/mrtg-rrd.cgi/load/life7load.html
ライブな dat の場合デフォルトハンドラと似たような処理をしてるだけなので,
まぁそんなところでしょうけど.
820root▲ ★
垢版 |
2006/12/08(金) 22:26:17ID:???0?PLT(20002)
>>819
> う?む...... autoindex の場合は <Directory> で許可しないとダメなのかなぁ......
> <LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html)|test/pastdat\.so)$">
> <Directory "/home/ch2*/public_html/*/dat">
> の二つに分けて,それぞれで Allow にすればいいのかな......?
> まぁつまり >>818 ですが,二つに分けるなら <LocationMatch> からは
> dat の部分を外して,<Directory> では regex を使わない方が
> regex match の処理は若干軽くなるかも......

確かに、Directory にはワイルドカードが使えるのでした。
このようがよさそうですね。
ということで、こうしてみました。

# dat directories/files
<Directory "^/home/xxxxxxxx/public_html/*/dat">
Order allow,deny
Allow from all
</Directory>

# subject.txt / subback.html / index.html / pastdat.so
<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html)|test/pastdat\.so)$">
Order allow,deny
Allow from all
</LocationMatch>
821root▲ ★
垢版 |
2006/12/08(金) 22:27:49ID:???0?PLT(20002)
> >mod_mime をはずすと、AddHandler が使えないみたいです。
> >で、これがちと、、、。
> >↓
> >AddHandler dso-script so
> <Files *.so>
> SetHandler dso-script
> </Files>
> でいかがでしょう.

なるほど。
同じようにすれば、html も処理できると。

DefaultType text/plain
で、
# for mod_cgidso
<Files *.so>
SetHandler dso-script
</Files>
# for *.html (without mod_mime)
<Files *.html>
ForceType text/html
</Files>

にしてみた。
822root▲ ★
垢版 |
2006/12/08(金) 22:31:01ID:???0?PLT(20002)
> >test/ の下は pastdat.so (とanydat.so) しかアクセスしない
> pastdat.so / anydat.so はどちらか片方だけ使えば Ok です.
> pastdat.so は dat が存在しない場合に ErrorDocument で振られるようにして使い,
> anydat.so は dat に対する全アクセスを RewriteRule とかで振られるようにして使う,と.
> read.html も使うなら anydat.so の方がいいですけど.

/test/pastdat.so を live23b に入れてみたです。

> life7 では昨晩から dat へのアクセスが全部 anydat.so 経由になってますが,
> 負荷はほとんど変わってないようですね.
> http://mumumu.mu/mrtg/mrtg-rrd.cgi/load/life7load.html
> ライブな dat の場合デフォルトハンドラと似たような処理をしてるだけなので,
> まぁそんなところでしょうけど.

ふむふむ。

で、今夜寝る前あたりに軽量版 httpd を稼動させてみて、
問題なければ、次に read.cgi の入れ替え(*1)をしようかなと。

(*1)
read.cgi再開発スレ Part2
http://qb5.2ch.net/test/read.cgi/operate/1105909861/584-587
823root▲ ★
垢版 |
2006/12/08(金) 22:37:45ID:???0?PLT(20002)
で、フロントの振るところは、こんなかんじですか。

# フロント内部では live23 は内部のプライベートを指している

ProxyPass /eqplus/SETTING.TXT !
ProxyPass /eqplus/dat/ http://live23.2ch.net:xxxx/eqplus/dat/
ProxyPassReverse /eqplus/dat/ http://live23.2ch.net:xxxx/eqplus/dat/
(これが板毎に並ぶ)
824root▲ ★
垢版 |
2006/12/08(金) 22:40:46ID:???0?PLT(20002)
eqplus で試してみましたが、index.css も許可しないとだめなのかな。
825root▲ ★
垢版 |
2006/12/08(金) 22:47:43ID:???0?PLT(20002)
>>823-824
あと、/kako/ とかもあるから、
アクセスが頻繁なやつだけ個別に振ることにするほうがいいのかな。

そうすると、>>823 みたいに単純に全部振るのではなくて、
index.html / subject.txt / subback.html / dat/ だけを指定したほうがいいのか。
2006/12/08(金) 22:52:22ID:cR0PtF7n0
>>823 dat の部分はそんな感じですかね.
<LocationMatch> に対応する部分は RewriteRule でのリバースプロクシ設定で.

RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css))$ http://live23.2ch.net:xxxx/$1 [P]

>>824 あ......そうでした.

<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css)|test/pastdat\.so)$">

>>826 ですね.で,軽量版 httpd に振るの以外は汎用 httpd に振るってことで.
827root▲ ★
垢版 |
2006/12/08(金) 23:02:25ID:???0?PLT(20002)
>>826
# for *.css (index.css) (without mod_mime)
<Files *.css>
ForceType text/css
</Files>

# subject.txt / subback.html / index.html / test/pastdat.so / index.css
<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css)|test/pastdat\.so)$">
Order allow,deny
Allow from all
</LocationMatch>

にしたです。
828root▲ ★
垢版 |
2006/12/08(金) 23:09:33ID:???0?PLT(20002)
>>826
この、
> RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css))$ http://live23.2ch.net:xxxx/$1 [P]

は、ブラウザ側に出る URI に、:xxxx が出ないようにするための策なんでしたっけ。
2006/12/08(金) 23:09:49ID:cR0PtF7n0
というか,Apache 2.2 なら dat の部分も RewriteRule でやっていいんですね.
(2.0 だとサブリクエストでのリバースプロクシ設定が無効になっちゃうんで,
 ProxyPass でやらなければならなかった)
ということで,こんな感じかな......

RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$ http://live23.2ch.net:xxxx/$1 [P]
RewriteRule ^/(\w+/kako/.*)$ http://live23.2ch.net/$1 [P]
830root▲ ★
垢版 |
2006/12/08(金) 23:10:45ID:???0?PLT(20002)
いや、ちがうすね。>>828
書き換えた上で、、、どうするのかな。
831root▲ ★
垢版 |
2006/12/08(金) 23:11:24ID:???0?PLT(20002)
>>829
あ、そういう技があるのですか。なんと。
832root▲ ★
垢版 |
2006/12/08(金) 23:12:19ID:???0?PLT(20002)
>>829
kako/ 以外にもあるかもしれないので、2行目はちょっと微妙かも。
1行目だけでいけるのかしら。
833root▲ ★
垢版 |
2006/12/08(金) 23:13:56ID:???0?PLT(20002)
kako/ 以外には、html/ とか i/ とか、、、。
(将来増えるかもしれないし)
834root▲ ★
垢版 |
2006/12/08(金) 23:18:36ID:???0?PLT(20002)
で、今は板ごとにこれがあるです。

ProxyPass /eqplus/SETTING.TXT !
ProxyPass /eqplus/ http://live23.2ch.net/eqplus/
ProxyPassReverse /eqplus/ http://live23.2ch.net/eqplus/

ここは変えないで、これの前に、

RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$ http://live23.2ch.net:xxxx/$1 [P]

を足せばいいのかしら。
2006/12/08(金) 23:24:35ID:cR0PtF7n0

RewriteCond %{REQUEST_URI} !^/\w+/(?:SETTING\.TXT|foo|baa)$
RewriteRule ^/(\w+/.*)$ http://live23.2ch.net/$1 [P]

みたいに......と書こうとしましたが

>>834 あ,それでもいいのかも......
2006/12/08(金) 23:27:15ID:6LE3EDuF0
>>820
> # dat directories/files
> <Directory "^/home/xxxxxxxx/public_html/*/dat">
これの先頭一致って外さなくていいのですか?
<Directory "/home/xxxxxxxx/public_html/*/dat">
837root▲ ★
垢版 |
2006/12/08(金) 23:30:17ID:???0?PLT(20002)
>>836
うまくいかなくて、さっき既にはずしました。
お恥ずかしい。
838root▲ ★
垢版 |
2006/12/08(金) 23:35:02ID:???0?PLT(20002)
RewriteEngine On
#RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\
d+\.dat)?))$ http://live23.2ch.net:4126/$1 [P]
RewriteRule ^/(eqplus/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?
:\d+\.dat)?))$ http://live23.2ch.net:4126/$1 [P]

いきなりはこわいので、live23f1 で eqplus だけで試してみました。
うまくいっているっぽい。

で、# のところを入れ替えると、全部に効くと。

########################################################################
RewriteEngine On
#RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$ http://live23.2ch.net:4126/$1 [P]
RewriteRule ^/(eqplus/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$ http://live23.2ch.net:4126/$1 [P]
########################################################################
ProxyPass /eqplus/SETTING.TXT !
ProxyPass /eqplus/ http://live23.2ch.net/eqplus/
ProxyPassReverse /eqplus/ http://live23.2ch.net/eqplus/
839root▲ ★
垢版 |
2006/12/08(金) 23:35:44ID:???0?PLT(20002)
お、ポート番号が。

本番では変えようかと(というか、今はどうせ外には bind() してないけど)。
2006/12/08(金) 23:43:23ID:cR0PtF7n0
>>839 まぁ,仮に外部から直接叩かれてもいいように <LocationMatch> の指定以外の
URL を Deny するようにしてるんで......
■ このスレッドは過去ログ倉庫に格納されています