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/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 するようにしてるんで......
841root▲ ★
垢版 |
2006/12/08(金) 23:45:49ID:???0?PLT(20002)
>>840
そういうことですね。

<Directory />
AllowOverride None
Order deny,allow
Deny from all
</Directory>
2006/12/08(金) 23:53:16ID:cR0PtF7n0
あと,Options の MultiViews は外した方がいいですね.
これのインパクトはバカにできないんで......
2006/12/08(金) 23:58:02ID:cR0PtF7n0
>>839-840 逆に言うと,プライベートアドレスしか bind() しないのなら,
フロント側のリバースプロクシ設定を注意深く行って dat や subject.txt 等への
アクセスしか逝かないようにすれば,細かいアクセス制御も不要ですね
(そういうディレクティブを入れない方が軽いには軽い).
844root▲ ★
垢版 |
2006/12/08(金) 23:59:13ID:???0?PLT(20002)
>>807 に加えて、
LoadModule authz_user_module libexec/apache22/mod_authz_user.so

も必要みたい。
845root▲ ★
垢版 |
2006/12/09(土) 00:01:27ID:???0?PLT(20002)
>>842
MultiViews をはずしました。

>>843
設定を間違えるとちとこわいんで、二重にセーフティガードしようかと。
2006/12/09(土) 00:37:10ID:qN68LS7d0
>>844-845 乙です.

で,pastdat.so を機能させるには

<Files *.dat>
    ErrorDocument 404 /test/pastdat.so
</Files>

が必要です.あと,もし落ちてリブートしても立ち上がるように
ロックファイルは /md 上に作るといいかも,とか.
847root▲ ★
垢版 |
2006/12/09(土) 00:39:19ID:???0?PLT(20002)
>>846
了解です。< pastdat.so

ロックファイル(accept.lock)ですね。
/md の mount を httpd よりも先にやるようにする必要があると。

# つまり、FreeBSD の rcorder(8) を勉強しないといかんと、、、。
848root▲ ★
垢版 |
2006/12/09(土) 00:53:04ID:???0?PLT(20002)
/etc/rc.conf @ live23b は、こんなかんじで。

# for apache22
apache22_enable="YES"
#apache22ssl_enable="YES"
#apache22limits_enable="YES"
apache22_http_accept_enable="YES"
apache22_profiles="normal private"
apache22_normal_enable="YES"
apache22_normal_configfile="/usr/local/etc/apache22/httpd.conf"
apache22_normal_http_accept_enable="YES"
apache22_private_enable="YES"
apache22_private_configfile="/usr/local/etc/apache22/httpd-private.conf"
apache22_private_http_accept_enable="YES"
849root▲ ★
垢版 |
2006/12/09(土) 00:56:29ID:???0?PLT(20002)
で、こうやると /var/run/httpd.{normal,private}.pid が作られるようになるので
(httpd.conf の PidFile の内容にかかわらず)、
httpd.conf (両方とも)、PidFile のところを(念のため)変えておくと。
850root▲ ★
垢版 |
2006/12/09(土) 01:14:12ID:???0?PLT(20002)
live23b の dat/index.html/index.css/subject.txt/subback.html 供給用の httpd を、
軽量化版に換えました。

かなり、軽くなっている予感。
851root▲ ★
垢版 |
2006/12/09(土) 01:14:57ID:???0?PLT(20002)
live23b の LA が 0.00 になりました。
2006/12/09(土) 01:17:25ID:qN68LS7d0
>>850-851 乙です.

>LA が 0.00

これも何かスゴいですねw まぁ時間的にピークは過ぎてるってことはあるでしょうけど.
853root▲ ★
垢版 |
2006/12/09(土) 01:18:14ID:???0?PLT(20002)
で、httpd の数を以下に設定。

軽量化版
(従来のと同じ数、メモリが少なくなったのでもっと増やせるかも、様子見ながら)

<IfModule mpm_worker_module>
StartServers 192
ServerLimit 192
ThreadLimit 16
ThreadsPerChild 16
MaxSpareThreads 3072
MinSpareThreads 3072
MaxSpareThreads 3072
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>

通常版
(384 に減少、こっちも様子を見ながら)

<IfModule mpm_worker_module>
StartServers 24
ServerLimit 24
ThreadLimit 16
ThreadsPerChild 16
MaxSpareThreads 384
MinSpareThreads 384
MaxSpareThreads 384
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
854root▲ ★
垢版 |
2006/12/09(土) 01:19:44ID:???0?PLT(20002)
今ちょっと上がって(私が作業しているからかな)、0.18 かな。< LA
top で様子見ていると、下がっていくかんじで。

明日以降、read.cgi とかそのへんを。

で、日曜あたりから news20b で 6.2-RC1/amd64 のテストをば。
2006/12/09(土) 01:25:14ID:qN68LS7d0
乙ですた.
856root▲ ★
垢版 |
2006/12/09(土) 01:32:09ID:???0?PLT(20002)
誤爆ということで。
しかし、なかなか。

596 名前:root▲ ★[] 投稿日:2006/12/09(土) 01:31:32 ID:???0 ?PLT(20002)
httpd のメモリ使用量が、1/4 になった模様。

軽量化前: 99MBytes〜100MBytes
軽量化後: 24656KBytes

PHP がでかいわけだけど、それにしてもおどろきで。
857root▲ ★
垢版 |
2006/12/09(土) 01:53:08ID:???0?PLT(20002)
ブレーメンメーターでアクセス量をとりはじめた。

live23b.2ch.net 従来版
live23bl.2ch.net 軽量化版
858root▲ ★
垢版 |
2006/12/09(土) 01:53:23ID:???0?PLT(20002)
>>857
http://mumumu.mu/bremen/
859root▲ ★
垢版 |
2006/12/09(土) 02:05:33ID:???0?PLT(20002)
>>856
子供の httpd は、だいたい 27K ぐらいみたい。
いずれにせよ、相当で。

そんでは、おやすみなさい。
860root▲ ★
垢版 |
2006/12/09(土) 02:08:23ID:???0?PLT(20002)
>>859
あうあう、27M です。
2006/12/09(土) 05:29:02ID:6Ft7hdip0?BRZ(5799)
おぉ、Apache軽量化の効果が楽しみですね。

#PC98時代にconfig.sys等をいじり倒して、
#メモリの確保に必死だった、あの事を思い出した。。
2006/12/09(土) 10:07:36ID:QcPY0zQ90?PLT(14001)
HIGH=UMB
863root▲ ★
垢版 |
2006/12/09(土) 16:04:19ID:???0?PLT(20002)
read.cgi の更新をする(pastdat.so 対応)には、どうすればいいのかしら。

1) /test/pastdat.so を入れる (バックエンド)
2) *.dat の際の ErrorDocument の処理(>>846)を入れる (バックエンドの httpd.conf)
3) read.cgi を更新する (フロントエンド)

これでOK?
864root▲ ★
垢版 |
2006/12/09(土) 16:17:04ID:???0?PLT(20002)
サーバーダウン(鯖落ち)情報 part125
http://qb5.2ch.net/test/read.cgi/operate/1163508641/599

ということで、6.2-RC1/amd64 バージョンアップ作業へと。
865root▲ ★
垢版 |
2006/12/09(土) 16:18:59ID:???0?PLT(20002)
で、バックエンド httpd の軽量化は効果が高いようなので、
live22x / news20 にも、順次たんたんと適用で。
2006/12/09(土) 21:17:47ID:qN68LS7d0
>>863 それでいいと思います.なお,pastdat.c, anydat.c を微妙に修正したので,
live23b に入れたのは更新しておいて下さい.



ところで,anydat.so は配布版 .htaccess では RewriteRule で dat へのリクエストを
internal redirect させてますが,Apache 2.2 で mod_actions を有効にしてるなら

<Files *.dat>
    Action text/plain /test/anydat.so virtual
</Files>

の方が RewriteRule よりスマートかも.mod_rewrite より mod_actions の方が
遙かにコンパクトですし.
2006/12/09(土) 21:51:55ID:YCoYhamC0
http://qb5.2ch.net/test/read.cgi/operate/1159268878/546

問題発生かも、かもかも。
868root▲ ★
垢版 |
2006/12/09(土) 21:55:07ID:???0?PLT(20002)
>>867
ううむ、外の I/F 的には何も変わっていないはずなんですが、、、。
869root▲ ★
垢版 |
2006/12/09(土) 21:59:02ID:???0?PLT(20002)
というか、今の livenhk が破綻していないわけで、、、。

どのタイミングで起きるかが知りたいところかも。
2006/12/09(土) 22:17:47ID:qN68LS7d0
削除跡なら呪文が bbsd 未対応ゆえの(現状では)仕様ですね.
それ以外だと......鯖が逼迫してる時なら,dat 落ち処理で
purge コマンドが bbsd まで届かない(普通のカキコで WriteSnow エラーが
出るのと同じ)ということはありえますが,今はそれほど逼迫してないんですよね......


ただ,F15 のスクリプト見てみると,purge するのにループさせて
逐次 bbsd を呼び出してる箇所があるんですが,purge では
複数のスレ指定が可能なんで,join して一回だけ呼ぶようにしてみたら
どうだろう,とか思ったり......
871root▲ ★
垢版 |
2006/12/09(土) 22:20:49ID:???0?PLT(20002)
>>870
どうも、削除関係らしいとか。

★板のスレ一覧復帰&修正依頼28★
http://qb5.2ch.net/test/read.cgi/operate/1159268878/547
872root▲ ★
垢版 |
2006/12/09(土) 22:54:28ID:???0?PLT(20002)
>>863 を実行。@ live23 系

これとかを read.cgi で読んで、ちゃんと出るようになったかな。

http://live23.2ch.net/test/read.cgi/livenhk/1165294961/
873root▲ ★
垢版 |
2006/12/09(土) 22:55:37ID:???0?PLT(20002)
>>872
うまくいっているみたいですね。

これで、「dat が存在しません」にはならないで済むと。
874root▲ ★
垢版 |
2006/12/09(土) 22:56:51ID:???0?PLT(20002)
これが問題なければ、
live22x / news20 の httpd 軽量化をやる時に、
あわせて実施するということで。
875root▲ ★
垢版 |
2006/12/09(土) 22:59:02ID:???0?PLT(20002)
>>866
両方を更新し、pastdat.so バイナリもあわせて更新しました。@ live23b
876root▲ ★
垢版 |
2006/12/09(土) 23:02:27ID:???0?PLT(20002)
で、SunOS さんにひとつ質問なのですが、
pastdat.so がない状態で read.cgi を更新しても
(つまり一般サーバの read.cgi を現状で更新しても)、特に問題ないのかしら。
877 株価【1310】 ▲▲▲▲ ◆cZfSunOs.U
垢版 |
2006/12/09(土) 23:02:43ID:qN68LS7d0
>>872-875 乙です.ちなみに専ブラ (Monazilla) 以外で dat を直接見るとこんな感じで.
http://live23.2ch.net/livenhk/dat/1165294961.dat
2006/12/09(土) 23:04:45ID:qN68LS7d0
>>876 特に問題ないはずです.
879root▲ ★
垢版 |
2006/12/09(土) 23:04:59ID:???0?PLT(20002)
>>877
なんですよね。

アイディアの勝利というか、さすがで。
880root▲ ★
垢版 |
2006/12/09(土) 23:05:23ID:???0?PLT(20002)
>>878
了解です。
2006/12/09(土) 23:10:57ID:44Sle8pX0
IEからだとレス表示がおかしくなってますが、これの影響でしょうか?
882root▲ ★
垢版 |
2006/12/09(土) 23:13:26ID:???0?PLT(20002)
>>881
具体的にどれでしょう。
883root▲ ★
垢版 |
2006/12/09(土) 23:14:59ID:???0?PLT(20002)
把握しました。
対応します。
884root▲ ★
垢版 |
2006/12/09(土) 23:16:58ID:???0?PLT(20002)
【実況】 live22+live23 Part22
http://qb5.2ch.net/test/read.cgi/operate/1155560057/392-394
885root▲ ★
垢版 |
2006/12/10(日) 00:07:25ID:???0?PLT(20002)
軽量版 httpd のセットアップ手順 まとめ

1) /usr/local/etc/apache22/httpd-private.conf 設定
2) /usr/local/etc/apache22/Includes-private/*.conf 設定
3) 1) 2) について、各サーバに固有なところを修正

4) /usr/local/etc/apache22/httpd.conf を修正(PidFile、httpd 起動数)
5) /etc/newsyslog.conf 修正(ログローテーション)
6) /etc/rc.conf 修正(Apache 2つ起動)

7) フロントからの振るホスト修正(proxy関連)

8) バックエンド httpd 再起動
9) フロントエンド httpd 再起動
886root▲ ★
垢版 |
2006/12/10(日) 00:17:49ID:???0?PLT(20002)
>>885
10) ブレーメンメーター(統計情報) とるように修正
887root▲ ★
垢版 |
2006/12/10(日) 01:27:06ID:???0?PLT(20002)
live22x, news20 にも軽量化版 httpd と、
pastdat.so による過去ログ倉庫の表示機能を導入済み。

これで雪だるまサーバでも「datが見つかりません」にはならないようになったと。

サーバーダウン(鯖落ち)情報 part125
http://qb5.2ch.net/test/read.cgi/operate/1163508641/616-645

過去ログ&●(2chビューア)情報スレ 03
http://qb5.2ch.net/test/read.cgi/operate/1153729411/396
2006/12/10(日) 01:44:12ID:uXE1Wu2M0
>>885-887 乙です.

で,これにさらに SMP 有効化とか mod_cache 利用とかやると
もっと余裕綽々になりそうな気もしますが......でも,そのうちに
それを埋め合わせるぐらいにアクセスが増えたりするのかなぁ......
2006/12/10(日) 06:42:03ID:6J0TpGS20?BRZ(5799)
>>888
まぁ、今までそれを繰り返して来てますからね。
器を大きく頑丈にすれば、その分人も増えるっす。
2006/12/10(日) 10:53:59ID:pO8lWOKF0?BRZ(6677)
こっちの方が適当かな?
blackgoat4.2ch.net(tiger512)のhttpdがzutto死んだままですよね?
いやあの多分支障はないと思うけれども、/_service/が見られないよなぁとかとか(苦笑)
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況