■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50

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

801 :動け動けウゴウゴ2ちゃんねる :2006/12/07(木) 22:54:24 ID:zj+URHnO0
おかねがかかりそう

802 :root▲ ★ :2006/12/07(木) 23:07:50 ID:???0 BE:3648285-PLT(20002)
>>792 を、ぼそぼそと設定中。

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

でいいのかな。

で、それ以外を全面禁止にするには、どうすればいいのかしら。

803 : 株価【1500】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/07(木) 23:13:28 ID:E59ivIXm0
>>802

<Directory />
    Deny from all
</Directory>

かな......

804 :root▲ ★ :2006/12/08(金) 00:49:03 ID:???0 BE:2462393-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 のディレクトリインデックスを表示してほしかったりするわけですが、
どうすればいいのかしら。

805 :root▲ ★ :2006/12/08(金) 00:50:41 ID:???0 BE:1824645-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

806 :root▲ ★ :2006/12/08(金) 01:05:49 ID:???0
>>805
LoadModule rpaf_module libexec/apache22/mod_rpaf.so

を追加(ログとり等のため)。

807 :root▲ ★ :2006/12/08(金) 01:22:31 ID:???0
>>805
LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so

も必要ですね。
システムチェック用に、パスワード認証しているところがあった。
# ということは、なくすこともできるわけか。

808 :root▲ ★ :2006/12/08(金) 01:36:47 ID:???0 BE:2189838-PLT(20002)
>>804 は、dat/index.html も許してやればいいのかな。

>>802 を直せばよさげだけど、今日は既に頭が回らないですね。
ということで、いったんこのへんで。

809 : 株価【1500】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 02:54:09 ID: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 は何か使ってるんでしょうか......

810 :root▲ ★ :2006/12/08(金) 11:32:26 ID:???0 BE:3831067-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>

ここをはずせるようにすればいいと。

811 :root▲ ★ :2006/12/08(金) 11:36:44 ID:???0 BE:5745997-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>

812 :root▲ ★ :2006/12/08(金) 11:39:22 ID:???0 BE:1459182-PLT(20002)
あ、ていうか /icons は所詮 mod_proxy っていうぐらいで、
フロントから読むのか。

だったら、バックエンドで Alias しなくてもいいわけかな。

813 : 株価【1500】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 11:46:34 ID: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 しないという。

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

814 : [―{}@{}@{}-] 動け動けウゴウゴ2ちゃんねる :2006/12/08(金) 19:23:28 ID:apgaP6L30
>>811
>KeepAlive をとめてしまうという手もあるのかしら。

フロント5台しかバックエンドにはアクセスしないんだから
そしてそのアクセス数はものすごいんだから
KeepAlive切るとむしろフロントの負荷が上がるはず

815 :root▲ ★ :2006/12/08(金) 20:10:42 ID:???0 BE:1915373-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

のように正しく読めます。

816 :root▲ ★ :2006/12/08(金) 20:21:10 ID:???0 BE:2736656-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 をはずしました。

817 :root▲ ★ :2006/12/08(金) 20:21:52 ID:???0 BE:2554447-PLT(20002)
>>814
そんな気が私もします。
ということで単に「携帯だけやらない」を、はずすのみで。

818 :root▲ ★ :2006/12/08(金) 21:40:14 ID:???0 BE:1459182-PLT(20002)
>>815
# XXX dat directories/files
<DirectoryMatch "^/home/xxxxxxxx/public_html/\w+/dat">
Order allow,deny
Allow from all
</DirectoryMatch>

これを入れると読めるですね。
やや挙動不審ですが、とりあえず回避はできそうと。

819 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 21:55:20 ID: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 の場合デフォルトハンドラと似たような処理をしてるだけなので,
まぁそんなところでしょうけど.

820 :root▲ ★ :2006/12/08(金) 22:26:17 ID:???0 BE:3283766-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>

821 :root▲ ★ :2006/12/08(金) 22:27:49 ID:???0 BE:912252-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>

にしてみた。

822 :root▲ ★ :2006/12/08(金) 22:31:01 ID:???0 BE:5107687-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

823 :root▲ ★ :2006/12/08(金) 22:37:45 ID:???0 BE:2280555-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/
(これが板毎に並ぶ)

824 :root▲ ★ :2006/12/08(金) 22:40:46 ID:???0 BE:2553874-PLT(20002)
eqplus で試してみましたが、index.css も許可しないとだめなのかな。

825 :root▲ ★ :2006/12/08(金) 22:47:43 ID:???0 BE:3283294-PLT(20002)
>>823-824
あと、/kako/ とかもあるから、
アクセスが頻繁なやつだけ個別に振ることにするほうがいいのかな。

そうすると、>>823 みたいに単純に全部振るのではなくて、
index.html / subject.txt / subback.html / dat/ だけを指定したほうがいいのか。

826 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 22:52:22 ID: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 に振るってことで.

827 :root▲ ★ :2006/12/08(金) 23:02:25 ID:???0 BE:5746379-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>

にしたです。

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

は、ブラウザ側に出る URI に、:xxxx が出ないようにするための策なんでしたっけ。

829 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 23:09:49 ID: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]

830 :root▲ ★ :2006/12/08(金) 23:10:45 ID:???0 BE:730324-PLT(20002)
いや、ちがうすね。>>828
書き換えた上で、、、どうするのかな。

831 :root▲ ★ :2006/12/08(金) 23:11:24 ID:???0 BE:912252-PLT(20002)
>>829
あ、そういう技があるのですか。なんと。

832 :root▲ ★ :2006/12/08(金) 23:12:19 ID:???0 BE:1460328-PLT(20002)
>>829
kako/ 以外にもあるかもしれないので、2行目はちょっと微妙かも。
1行目だけでいけるのかしら。

833 :root▲ ★ :2006/12/08(金) 23:13:56 ID:???0 BE:5107878-PLT(20002)
kako/ 以外には、html/ とか i/ とか、、、。
(将来増えるかもしれないし)

834 :root▲ ★ :2006/12/08(金) 23:18:36 ID:???0 BE:1095326-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]

を足せばいいのかしら。

835 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 23:24:35 ID:cR0PtF7n0

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

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

>>834 あ,それでもいいのかも......

836 :動け動けウゴウゴ2ちゃんねる :2006/12/08(金) 23:27:15 ID:6LE3EDuF0
>>820
> # dat directories/files
> <Directory "^/home/xxxxxxxx/public_html/*/dat">
これの先頭一致って外さなくていいのですか?
<Directory "/home/xxxxxxxx/public_html/*/dat">

837 :root▲ ★ :2006/12/08(金) 23:30:17 ID:???0 BE:3283766-PLT(20002)
>>836
うまくいかなくて、さっき既にはずしました。
お恥ずかしい。

838 :root▲ ★ :2006/12/08(金) 23:35:02 ID:???0 BE:1641863-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/

839 :root▲ ★ :2006/12/08(金) 23:35:44 ID:???0 BE:3283766-PLT(20002)
お、ポート番号が。

本番では変えようかと(というか、今はどうせ外には bind() してないけど)。

840 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 23:43:23 ID:cR0PtF7n0
>>839 まぁ,仮に外部から直接叩かれてもいいように <LocationMatch> の指定以外の
URL を Deny するようにしてるんで......

841 :root▲ ★ :2006/12/08(金) 23:45:49 ID:???0 BE:4104959-PLT(20002)
>>840
そういうことですね。

<Directory />
AllowOverride None
Order deny,allow
Deny from all
</Directory>

842 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 23:53:16 ID:cR0PtF7n0
あと,Options の MultiViews は外した方がいいですね.
これのインパクトはバカにできないんで......

843 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 23:58:02 ID:cR0PtF7n0
>>839-840 逆に言うと,プライベートアドレスしか bind() しないのなら,
フロント側のリバースプロクシ設定を注意深く行って dat や subject.txt 等への
アクセスしか逝かないようにすれば,細かいアクセス制御も不要ですね
(そういうディレクティブを入れない方が軽いには軽い).

844 :root▲ ★ :2006/12/08(金) 23:59:13 ID:???0 BE:1460328-PLT(20002)
>>807 に加えて、
LoadModule authz_user_module libexec/apache22/mod_authz_user.so

も必要みたい。

845 :root▲ ★ :2006/12/09(土) 00:01:27 ID:???0 BE:1459182-PLT(20002)
>>842
MultiViews をはずしました。

>>843
設定を間違えるとちとこわいんで、二重にセーフティガードしようかと。

846 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/09(土) 00:37:10 ID:qN68LS7d0
>>844-845 乙です.

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

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

が必要です.あと,もし落ちてリブートしても立ち上がるように
ロックファイルは /md 上に作るといいかも,とか.

847 :root▲ ★ :2006/12/09(土) 00:39:19 ID:???0 BE:2188883-PLT(20002)
>>846
了解です。< pastdat.so

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

# つまり、FreeBSD の rcorder(8) を勉強しないといかんと、、、。

848 :root▲ ★ :2006/12/09(土) 00:53:04 ID:???0 BE:2463539-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"

849 :root▲ ★ :2006/12/09(土) 00:56:29 ID:???0 BE:1276872-PLT(20002)
で、こうやると /var/run/httpd.{normal,private}.pid が作られるようになるので
(httpd.conf の PidFile の内容にかかわらず)、
httpd.conf (両方とも)、PidFile のところを(念のため)変えておくと。

850 :root▲ ★ :2006/12/09(土) 01:14:12 ID:???0 BE:4925669-PLT(20002)
live23b の dat/index.html/index.css/subject.txt/subback.html 供給用の httpd を、
軽量化版に換えました。

かなり、軽くなっている予感。

851 :root▲ ★ :2006/12/09(土) 01:14:57 ID:???0 BE:2189164-PLT(20002)
live23b の LA が 0.00 になりました。

852 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/09(土) 01:17:25 ID:qN68LS7d0
>>850-851 乙です.

>LA が 0.00

これも何かスゴいですねw まぁ時間的にピークは過ぎてるってことはあるでしょうけど.

853 :root▲ ★ :2006/12/09(土) 01:18:14 ID:???0 BE:1459744-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>

854 :root▲ ★ :2006/12/09(土) 01:19:44 ID:???0 BE:4104959-PLT(20002)
今ちょっと上がって(私が作業しているからかな)、0.18 かな。< LA
top で様子見ていると、下がっていくかんじで。

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

で、日曜あたりから news20b で 6.2-RC1/amd64 のテストをば。

855 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/09(土) 01:25:14 ID:qN68LS7d0
乙ですた.

856 :root▲ ★ :2006/12/09(土) 01:32:09 ID:???0 BE:3192375-PLT(20002)
誤爆ということで。
しかし、なかなか。

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

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

PHP がでかいわけだけど、それにしてもおどろきで。

857 :root▲ ★ :2006/12/09(土) 01:53:08 ID:???0 BE:4377986-PLT(20002)
ブレーメンメーターでアクセス量をとりはじめた。

live23b.2ch.net 従来版
live23bl.2ch.net 軽量化版

858 :root▲ ★ :2006/12/09(土) 01:53:23 ID:???0 BE:1824454-PLT(20002)
>>857
http://mumumu.mu/bremen/

859 :root▲ ★ :2006/12/09(土) 02:05:33 ID:???0 BE:5746379-PLT(20002)
>>856
子供の httpd は、だいたい 27K ぐらいみたい。
いずれにせよ、相当で。

そんでは、おやすみなさい。

860 :root▲ ★ :2006/12/09(土) 02:08:23 ID:???0 BE:3831067-PLT(20002)
>>859
あうあう、27M です。

861 :◆ANGLERlqvM :2006/12/09(土) 05:29:02 ID:6Ft7hdip0 BE:5035695-BRZ(5799)
おぉ、Apache軽量化の効果が楽しみですね。

#PC98時代にconfig.sys等をいじり倒して、
#メモリの確保に必死だった、あの事を思い出した。。

862 :モーマン☆鯛。 :2006/12/09(土) 10:07:36 ID:QcPY0zQ90 BE:2338092-PLT(14001)
HIGH=UMB

863 :root▲ ★ :2006/12/09(土) 16:04:19 ID:???0 BE:3283766-PLT(20002)
read.cgi の更新をする(pastdat.so 対応)には、どうすればいいのかしら。

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

これでOK?

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

ということで、6.2-RC1/amd64 バージョンアップ作業へと。

865 :root▲ ★ :2006/12/09(土) 16:18:59 ID:???0 BE:3284249-PLT(20002)
で、バックエンド httpd の軽量化は効果が高いようなので、
live22x / news20 にも、順次たんたんと適用で。

866 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/09(土) 21:17:47 ID: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 の方が
遙かにコンパクトですし.

867 :動け動けウゴウゴ2ちゃんねる :2006/12/09(土) 21:51:55 ID:YCoYhamC0
http://qb5.2ch.net/test/read.cgi/operate/1159268878/546

問題発生かも、かもかも。

868 :root▲ ★ :2006/12/09(土) 21:55:07 ID:???0 BE:4104195-PLT(20002)
>>867
ううむ、外の I/F 的には何も変わっていないはずなんですが、、、。

869 :root▲ ★ :2006/12/09(土) 21:59:02 ID:???0 BE:2462393-PLT(20002)
というか、今の livenhk が破綻していないわけで、、、。

どのタイミングで起きるかが知りたいところかも。

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


ただ,F15 のスクリプト見てみると,purge するのにループさせて
逐次 bbsd を呼び出してる箇所があるんですが,purge では
複数のスレ指定が可能なんで,join して一回だけ呼ぶようにしてみたら
どうだろう,とか思ったり......

871 :root▲ ★ :2006/12/09(土) 22:20:49 ID:???0 BE:1277827-PLT(20002)
>>870
どうも、削除関係らしいとか。

★板のスレ一覧復帰&修正依頼28★
http://qb5.2ch.net/test/read.cgi/operate/1159268878/547

872 :root▲ ★ :2006/12/09(土) 22:54:28 ID:???0 BE:2462393-PLT(20002)
>>863 を実行。@ live23 系

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

http://live23.2ch.net/test/read.cgi/livenhk/1165294961/

873 :root▲ ★ :2006/12/09(土) 22:55:37 ID:???0 BE:1641863-PLT(20002)
>>872
うまくいっているみたいですね。

これで、「dat が存在しません」にはならないで済むと。

874 :root▲ ★ :2006/12/09(土) 22:56:51 ID:???0 BE:2280555-PLT(20002)
これが問題なければ、
live22x / news20 の httpd 軽量化をやる時に、
あわせて実施するということで。

875 :root▲ ★ :2006/12/09(土) 22:59:02 ID:???0 BE:730324-PLT(20002)
>>866
両方を更新し、pastdat.so バイナリもあわせて更新しました。@ live23b

876 :root▲ ★ :2006/12/09(土) 23:02:27 ID:???0 BE:365322-PLT(20002)
で、SunOS さんにひとつ質問なのですが、
pastdat.so がない状態で read.cgi を更新しても
(つまり一般サーバの read.cgi を現状で更新しても)、特に問題ないのかしら。

877 : 株価【1310】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/09(土) 23:02:43 ID:qN68LS7d0
>>872-875 乙です.ちなみに専ブラ (Monazilla) 以外で dat を直接見るとこんな感じで.
http://live23.2ch.net/livenhk/dat/1165294961.dat

878 : 株価【1310】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/09(土) 23:04:45 ID:qN68LS7d0
>>876 特に問題ないはずです.

879 :root▲ ★ :2006/12/09(土) 23:04:59 ID:???0 BE:6567089-PLT(20002)
>>877
なんですよね。

アイディアの勝利というか、さすがで。

880 :root▲ ★ :2006/12/09(土) 23:05:23 ID:???0 BE:4925669-PLT(20002)
>>878
了解です。

881 :動け動けウゴウゴ2ちゃんねる :2006/12/09(土) 23:10:57 ID:44Sle8pX0
IEからだとレス表示がおかしくなってますが、これの影響でしょうか?

882 :root▲ ★ :2006/12/09(土) 23:13:26 ID:???0 BE:3192757-PLT(20002)
>>881
具体的にどれでしょう。

883 :root▲ ★ :2006/12/09(土) 23:14:59 ID:???0 BE:1094843-PLT(20002)
把握しました。
対応します。

884 :root▲ ★ :2006/12/09(土) 23:16:58 ID:???0 BE:6566898-PLT(20002)
【実況】 live22+live23 Part22
http://qb5.2ch.net/test/read.cgi/operate/1155560057/392-394

885 :root▲ ★ :2006/12/10(日) 00:07:25 ID:???0 BE:547823-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 再起動

886 :root▲ ★ :2006/12/10(日) 00:17:49 ID:???0 BE:1095326-PLT(20002)
>>885
10) ブレーメンメーター(統計情報) とるように修正

887 :root▲ ★ :2006/12/10(日) 01:27:06 ID:???0 BE:2919348-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

888 : 株価【1310】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/10(日) 01:44:12 ID:uXE1Wu2M0
>>885-887 乙です.

で,これにさらに SMP 有効化とか mod_cache 利用とかやると
もっと余裕綽々になりそうな気もしますが......でも,そのうちに
それを埋め合わせるぐらいにアクセスが増えたりするのかなぁ......

889 :◆ANGLERlqvM :2006/12/10(日) 06:42:03 ID:6J0TpGS20 BE:2685964-BRZ(5799)
>>888
まぁ、今までそれを繰り返して来てますからね。
器を大きく頑丈にすれば、その分人も増えるっす。

890 : ◆TWARamEjuA :2006/12/10(日) 10:53:59 ID:pO8lWOKF0 BE:1306962-BRZ(6677)
こっちの方が適当かな?
blackgoat4.2ch.net(tiger512)のhttpdがzutto死んだままですよね?
いやあの多分支障はないと思うけれども、/_service/が見られないよなぁとかとか(苦笑)

891 :root▲ ★ :2006/12/10(日) 14:55:34 ID:???0 BE:5107687-PLT(20002)
>>890
httpd をあげました。

892 :root▲ ★ :2006/12/10(日) 16:29:07 ID:???0 BE:3284249-PLT(20072)
サーバーダウン(鯖落ち)情報 part125
http://qb5.2ch.net/test/read.cgi/operate/1163508641/932-966

6.2-RC1/amd64 でも、症状は全く同じでした。

・シングルCPU(options SMPをはずした状態)では、何の問題もない
・デュアルCPUでは、make buildworld が通らなかった
- コンパイル中に完全にハングアップ、ping も通らない
・device acpi をはずすと、デュアルCPUとして認識されない

現在、6.2-RC1/amd64 シングルCPU 状態。

893 :root▲ ★ :2006/12/10(日) 16:46:26 ID:???0 BE:6567089-PLT(20072)
■ ex11 負荷対策

雪だるまのフロントサーバに準じたセッティングに変更。
ただし、httpd の数は雪だるまフロントよりやや少なめで。

<IfModule mpm_worker_module>
StartServers 72
ServerLimit 72
ThreadLimit 16
ThreadsPerChild 16
MaxClients 1152
MinSpareThreads 1152
MaxSpareThreads 1152
MaxRequestsPerChild 16000000
MaxMemFree 64000
</IfModule>

894 :root▲ ★ :2006/12/10(日) 16:48:40 ID:???0 BE:2189546-PLT(20072)
>>893 変更点
・最初から待たせる httpd の数の変更
(最初から最大数、worker MPM ではそのほうが成績がよさそう)
・1プロセスあたりのスレッド数を 32 → 16 に変更
(雪だるまフロントで実績のある値に)

あとこれとは別に read.cgi を、
SunOS さんによるマルチスレッド安定化版に更新。

895 :root▲ ★ :2006/12/10(日) 16:52:05 ID:???0 BE:1460328-PLT(20072)
これで、突発負荷には以前より強くなったはず。

# worker MPM は、チューニング的にはいろいろ微妙かも。
# でも、だから面白いという話もあるのかも。

896 :root▲ ★ :2006/12/10(日) 16:53:34 ID:???0 BE:3283766-PLT(20072)
さて、>>892 ということで、次の一手はどうしようかなと。

# やはり、まずはレポートしないといけないですね。きっと。

897 :動け動けウゴウゴ2ちゃんねる :2006/12/10(日) 17:15:16 ID:eXGykgG40
うちはデュアルCPUじゃなくてデュアルコアだけど、buildworld中に落ちるとかはないですね。
まあ、さすがにどんな環境でも起きるような問題ならば、修正されてるでしょうから、
特定の環境で起きることなんでしょうね。

buildworld中に落ちるというと、自分の経験ではファンが壊れて止まってしまった時に
そういうことがありましたが、それも既に確認済みでしょうね。。

898 :root▲ ★ :2006/12/10(日) 17:23:37 ID:???0 BE:365322-PLT(20072)
>>897
・2台ある 6.1R/amd64 で全く同じ症状が出た
・いずれの個体も 5.4R では何の問題もなかった
・6.0R では(高負荷にしなければ)とりあえず動く

ので、何らかのソフトウェア的な原因だと考えているです。

899 :root▲ ★ :2006/12/10(日) 17:43:55 ID:???0 BE:2462393-PLT(20123)
>>898
ちなみに >>898 の2台は、同じハードウェアですね。

なので、原因はソフトウェアかもしれないけど、
特定のハードウェア環境においてのみ出現するもの、なのかも。

ちなみにマザーボードは HDAMA で、BIOS は最新よりはちょっと古いですね。
マザボのリビジョンは大きく分けて2つあるみたいですが、古いほうのはず。

SCSI は mpt (LSI Logic 1030: PCI-X カード)で、
ネットワークは bge (onboard)です。

そんなに変な構成でもないような気がしますが、、、。

900 :root▲ ★ :2006/12/10(日) 18:00:09 ID:???0 BE:2189164-PLT(20123)
あとは、mpsafenet とか、そのへんですかね。
あるいは acpi の一部機能を debug.acpi.disable で止めてみるとか。

285KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30