カテゴリー別アーカイブ: コンピュータ

Squidのチョイ規模でかめで参考になりそうなconfとコメント

#squidの動作させるユーザ・グループ
cache_effective_user squid
cache_effective_group nogroup
#squidはcache_memの約3倍のメモリを使います
cache_mem 64 MB
#diskdはsquidと別スレッドでディスクに書込みします。複数cpuに最適値。最初の100は使用ディスク容量(MB単位)
cache_dir diskd /var/cache/squid 100 16 256
#半接続で落ちたクライアントをすぐに切る
half_closed_clients off
#再起動/終了時の待ち時間
shutdown_lifetime 3 seconds
#メモリに読み込むキャッシュオブジェクトの最大容量
maximum_object_size_in_memory 5 MB
#ステータスページのパスワードを無効にする(本番では要変更)
cachemgr_passwd none all
#エラーステータス(404など)のキャッシュ時間を小さく取る
negative_ttl 1 minutes
#リクエストのリダイレクト時のホストヘッダの書き換えを禁止
url_rewrite_host_header off
#キャッシュが他にないのでアナウンスしない
announce_period 0
#icpを禁止
icp_port 0
#メモリをつかんだら解放しないで取っておく
memory_pools on
#メモリは使えるだけ使う(専用サーバ用設定)
memory_pools_limit 0
#最大2本のパラレルでデータの送受信を行う
pipeline_prefetch on
#最小無効化時間を短めに取る
minimum_expiry_time 2 seconds
#パーシスタントコネクションの最長値を短めに取る
pconn_timeout 30 seconds
#全てのデータを2分間キャッシュする。ページのリロードが来てもキャッシュを返す。
refresh_pattern . 2 100% 2 ignore-reload
#アクセスログのフォーマット
logformat combined %>a %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %h” “%{User-Agent}>h” %Ss:%Sh
#アクセスログの位置と書式
access_log /var/log/squid/access.log combined
#apacheと似たようなログを吐く
#emulate_httpd_log on
#apacheサーバの場合にいいかげんなvary_encodingを許可する
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
#アクセスコントロールリスト(定義部)
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
#クライアントからの接続先。
#http(s)//192.168.100.15/…. もしくはhttp(s)//*.una.com/…. が該当。
#もっと明確にサーバを指定したいときは頭にドットを置かずに www.una.com とかする。
acl reverse dstdomain 192.168.100.15 .una.com
http_access allow reverse
#ステータスページ表示設定。localhostからのみ許可。
#squidclient -p82 -h 192.168.100.15 -l localhost mgr:config | less のようにして取得。
acl manager proto cache_object
http_access allow manager localhost
http_access deny manager
#############一つ目のサーバを指定#############
#IPアドレス 127.0.0.1
#アクセラレートするときは parent
#ポート 80
#ICPポート 0
# ICPリクエストしない
# disables requesting ICMP RTT database (NetDB) from the neighbor.
# NOT to request cache digests from this neighbor.
# parentをオリジナルサーバとみなす。アクセラレート設定。
# cache_peerに名前を付ける
# authをparentにパス
# 最大接続数を制限しておく
cache_peer 127.0.0.1 parent 80 0 no-query no-netdb-exchange no-digest originserver name=server_1 login=PASS max-conn=100
#一つ目のサーバ用のsquidの待ち受けポート
#IPアドレス 192.168.100.15
#ポート 80
# アクセラレートモード
# ネームベースヴァーチャルホスト用のヘッダをparentにパス
# セキュリティ上 全てのリバースプロキシ設定に別のurlgroupを振ります。
http_port 192.168.100.15:80 accel vhost urlgroup=1
#squidサーバのポート80をaclで定義
acl p80 myport 80
#squidサーバのポート80からの接続のみ1番目のサーバにリバースプロキシする
cache_peer_access server_1 allow p80
cache_peer_access server_1 deny all
#############一つ目のサーバここまで#############
#############ふたつ目のサーバを指定#############
cache_peer 127.0.0.1 parent 800 0 no-query no-netdb-exchange no-digest originserver name=server_2 login=PASS max-conn=100
http_port 192.168.100.15:81 accel vhost urlgroup=2
acl p81 myport 81
cache_peer_access server_2 allow p81
cache_peer_access server_2 deny all
#############三つ目のサーバをSSLで指定#############
cache_peer 127.0.0.1 parent 8043 0 no-query no-netdb-exchange no-digest originserver name=server_3 login=PASS max-conn=100
#SSLなので https_port。http_port と違うところは cert=/PATH/TO/cert.pem と key=/PATH/TO/key.pem あとcipher
https_port 192.168.100.15:443 cert=/usr/local/ssl/certs/cert.pem key=/usr/local/ssl/private/key.pem accel vhost urlgroup=3 cipher=ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP:-eNULL
acl p443 myport 443
cache_peer_access server_3 allow p443
cache_peer_access server_3 deny all
#############四つ目のサーバを指定#############
cache_peer www.yahoo.com parent 80 0 no-query no-netdb-exchange no-digest originserver name=server_4 login=PASS max-conn=100
http_port 192.168.100.15:82 accel vhost urlgroup=4
acl p82 myport 82
cache_peer_access server_4 allow p82
cache_peer_access server_4 deny all
#許可されてないサーバからの接続を全部お断りする
http_access deny all


http://wiki.livedoor.jp/unaz/d/squid%20conf%20reverse%20proxy

express5800でraidを使う

オンボードRAID機能
* BIOSの基本メニューには、RAIDの「有効/無効」選択は表示されない。切替は、ジャンパスイッチで行う。
o ユーザーズガイドにて、110Gdは159頁を、110Geは171頁を参照。
* ジャンパスイッチでRAIDを有効にすると、LSI社(旧LSI Logic社)のRAID用のBIOSメニューが表示される様になる。
o 以降の設定は、ユーザーズガイドにて、110Gdは160頁以降を、110Geは172頁以降を参照。
* ドライバは、LSI社(旧LSI Logic社)の物を使用する。Intel社の物は使用しない。
o Intel RAID は、BIOSが対応していない為、使用出来ない。
* OSインストール後のジャンパスイッチ変更、RAID用BIOS設定の変更は禁止。
o HDD内のデータが破壊される可能性有り。
* ソフトウェアRAIDである。(BIOSとドライバによると推測)
* ジャンパスイッチの設定を「RAID」にすると、基本BIOSの AHCI 設定は [Enabled] に固定される。
* 3台のHDDを、RAID構成2台+非RAID1台で使用する場合は、非RAID1台もRAID0として認識させる必要有り。
* LSI社のMegaRAID Strage Managerにて、Client側からPopUpソフトで障害監視や状態確認が可能。
* CentOS 4.6では、LSI社のRedHat用ドライバで、MegaSRとして認識可能。ドライバは、インストール時にFDよりddで読込み。
* CentOS 5.1では、LSI社のRedHat5.x用ドライバで、RAID1は認識するが、RAID0は認識せず。
* FreeBSD 7.0では、認識せず。
* トータルで2TBを超える容量のRAIDを構成する場合は、こちらの資料を参照。
http://wiki.nothing.sh/page/NEC%20Express5800%A1%BF110Gd/110Gx%20%A5%AA%A5%F3%A5%DC%A1%BC%A5%C9RAID%B5%A1%C7%BD%A1%BFAHCI%B5%A1%C7%BD
Express5800/110Gd(N8100-1279Y)
http://support.express.nec.co.jp/pcserver/list.php?products=117
Express5800/110Ge(N8100-1447Y)
http://support.express.nec.co.jp/pcserver/list.php?products=1586

javascriptのprototype.jsでeachの意味って

Ruby スタイルのループ
標準的な JavaScript では、配列の要素を順番に表示しようとする場合、以下のように書くことでうまくいきます。

function showList(){
var simpsons = [‘Homer’, ‘Marge’, ‘Lisa’, ‘Bart’, ‘Maggie’];
for(i=0;i

我らが prototype.js では、このループをこんな風に書き換えることができます。

function showList(){
var simpsons = [‘Homer’, ‘Marge’, ‘Lisa’, ‘Bart’, ‘Meg’];
simpsons.each( function(familyMember){
alert(familyMember);
});
}

http://www.s2factory.co.jp/tech/prototype/prototype.js.html#Loops

FireFoxのURLに名前解決できない文字列を入力しても勝手に飛ばされない

アドレスバーに適当な文字列を突っ込んだとき、GoogleのI’m feeling luckyされてしまったりする。
内部のアドレス引き間違えとかだと正直うざい。

図02 「browser.fixup.alternate.enabled」の設定値を「false」に変更した状態で、ロケーションバーに「www.microsoft」と入力しても、「www.microsoft.com」へアクセスできなくなります

http://journal.mycom.co.jp/articles/2009/03/13/fire/index.html
マイコミジャーナルって意外に良い内容の記事があったりして驚く。

Eclipseのキーバインドで改行を割り振る

Eclipseを使ってて改行のキーバインドがない。
> Ctrl+Mを改行に †
> デフォルトでは「Maximize Active View or Editor」に割り当てられていますので、これを除去します。(3.1.0)
http://eclipsewiki.net/eclipse/?Emacs%C9%F7%A5%AD%A1%BC%A5%D0%A5%A4%A5%F3%A5%C9
てっきりCtrl+Mに新しいバインド、改行を割り当てるのかと思って機能を探しまくった。
どうやらキーバインドを消すだけでUNIX風な機能(?)ができるらしい。
UNIX風といわずパソコン全般なのかもしれないけど。
自分はCtrl+Jで改行をしてるけど世間一般ではCtrl+Mが主流らしい。
たしかコントロールシーケンス(?)を送りたくなったときに、途中からめんどくさいからABCD・・・、ってアスキーコード順に割り振ったとか。となるとMとJで恐らくどっちかがCRでどっちかがLFでとか、そんな風に割り当てられてるんだろう。ソースを今日は見つけられなかったので根拠の薄い予測。
もし納得できる理由を見つけたらCtlr+Mに変えようっと。

Windows Update を手動で強制的に実行させるには

Windows Update を手動で強制的に実行させるには。
OSを入れなおした直後とかにWindows Updateを当てたい場合にはこんな感じ。
>wuauclt /detectnow
タスクマネージャでCPUとメモリをしっかりとっていってることを確認。
動いてなかったらそういうときの対処法もどっかにあったはずだからググる。
http://www.google.co.jp/search?num=50&hl=ja&safe=off&client=firefox-a&rls=org.mozilla%3Aja%3Aofficial&hs=Kab&q=wuauclt+%E6%89%8B%E5%8B%95%E3%81%A7%E5%AE%9F%E8%A1%8C&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
自動更新 2.2 の検出サイクルを強制的に実行する方法
http://support.microsoft.com/kb/326693/ja

vmwareで走らせるFreeBSDの時刻が遅い件

皆さんお困りのVMWare上のUNIXやらが遅い件(時間的な意味で)。
うちのFreeBSDたちも片っ端から遅い。
幸い時刻に関してはまだましなserver2003が一台あったのでこいつを外部のntp serverにつながせて、内部のntp serverはfreebsdの一つにやらせようっていう件。
ちょうどctuがあるけど自前のルータ使いますって感じで。
ntpdとntpdateのどっちがいいかっていう問題があるけど個人的にはntpdの方が常時立ってるしいいかなと思って無理にでもうごかした。
#server ntp1.jst.mfeed.ad.jp
#server ntp2.jst.mfeed.ad.jp
#server ntp3.jst.mfeed.ad.jp
#server ntp.asahi-net.or.jp
server xxx.xxx.xxx.xxx prefer maxpoll 4 minpoll 1
#server 127.0.1.0
#fudge 127.0.0.1 stratum 5
driftfile /etc/ntpd.drift
logconfig
再起動とかマシン起動時にはまたいつも通り大幅に時刻がズレてるだろうからntpdateで一発合わせてやってからntpdを起動。
%more rc.conf | grep ntp
ntpdate_enable=”YES”
ntpdate_hosts=”server2003.xxx.xxx”
ntpd_enable=”YES”
ntpd_program=”/usr/sbin/ntpd”
ntpd_flags=”-p /var/run/ntpd.pid -c /etc/ntp.conf”
あとはクライアントでも同様の設定で、設定先をそのntpサーバにしてやってやればよい。
server 192.168.75.67 prefer maxpoll 4 minpoll 1
#server 127.0.1.0
#fudge 127.0.0.1 stratum 5
driftfile /etc/ntpd.drift
logconfig
課題:
syslogがまたごちゃごちゃする。
securityは低め。内部なら誰からもアクセスできるし外部からも(nat超えたりとかなんとかがんばれば)アクセス可能。これって時計ズラされたらマズー。
補足:
windowsの時計を合わせる件
レジストリの下記の場所
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
にある、
SpecialPollInterval
が設定間隔(秒)
SpecialPollTimeRemainingが設定するサーバ(らしいけど最後につくへんなのは何)
http://support.microsoft.com/kb/297227/ja