webサーバをlighttpdにしてみる

他のサーバで pound + thttpd + apache という組み合わせを試していましたが
・なんかthttpdが落ちる
・thttpdが落ちるとpoundも引きずられて落ちる(これは設定で回避できそうだけど)
という状況だったので,まぁ実験だしpoundとthttpdをやめてapacheのみにしようかと思いましたが,どうせなのでlighttpdにしてみました.

中身はwordpressのサイトなので,それ用に設定を追加します.

【Lighttpd】WordPressやDooPHPを動かす設定 | SOLAT -DEV- 開発ブログ

CentOS5にrpmforgeリポジトリを追加してあるのでlighttpdとlighttpd-fastcgiをインストール
modules.confで必要なものを有効に.fastcgiも追加.
virtualhostの設定内にurl.rewrite-onceを追加.

$HTTP[“host”] == “example.com”{
server.document-root = “/path/to/www/example.com/wordpress”
url.rewrite-once = (
“^/(wp-.+).*/?” => “$0″,
“^/(sitemap.xml)” => “$0″,
“^/(xmlrpc.php)” => “$0″,
“^/(.+)/?$” => “/index.php/$1″,
)
}

他のサーバでもlighttpdを採用してみたいですが…既にあるapacheの設定を移植するのが面倒だなぁ…
フロントをlighttpd,バックをapacheにして,全体的にlighttpdをリバースプロキシ動作にしたあと,移行できるサイトから順次lighttpdにしていく手もあるか.
多分やらないな…w

SELECTの結果でUPDATEをかける(pgsql/mysql)

DB内で他のテーブルからSELECTした内容でUPDATEを行いたいときがある.
SELECTした内容をINSERTに使うINSERT~SELECT構文みたいなのもあるので,どうかなーと思ったら各DBMS毎に文法が違うのね…

PostgreSQLの場合
オデの日記@WEB系: postgresqlでSELECTした結果でUPDATEをかける
PostgreSQL/SQL/SELECT結果でUPDATE – yanor.net/wiki

UPDATE target_table
SET target_column = s.value
FROM (SELECT * FROM source_table) AS s
WHERE target_table.id = s.id

個人的にはSETとWHEREの間にFROMが入るのが直感的でない…と思う.

MySQLの場合
MySQL/SELECT結果でUPDATEする – 俺の基地
yoko_net Blog : 結合したSELECT結果でUPDATEするTips(for MySQL)

UPDATE target_table,source_table
SET target_table.taraget_column = source_table.source_column
WHERE target_table.id = source_table.id

個人的にはUPDATEの後に両方のテーブル名を並べるのがまぎらわしい…と思う.

NexusOneにCyanogenModとS2E導入

NexusOneは/dataの下が小さい!
何か入れるとすぐ容量低下とか言われる!

そんなわけでapp2sdしてみたい,ということでCyanogenMod7を入れました.
RootedなのでROM Managerから導入してすぐ完了…ではなかった

自分のポイントメモ
・最新のClockworkModRecoveryが入っているように表示されても,直前に再導入したほうが良い
 …なぜかRecoveryが起動できなかった
・cacheとかdataとかwipeしないと起動しない
 …CyanogenModの起動画面がずーっとループしつづけた>Recoveryからwipeしたら起動した
・gappsを導入しないとGoogle系アプリが入らない
 …チェックしてたつもりだけど抜けていた.後から導入でもOK.
 入れておかないとマーケットがないのでいろいろ困る.

[Script/APK] S2E (simple2ext): app2sd for CyanogenMod7 – xda-developers
・ROM ManagerでもSDカードのパーティションを切れるが,最大512MBだったのでヤメ
・ClockworkModRecoveryのAdvancedから操作.2024MB切れる!
・起動後,マーケットからS2Eを導入して設定,再起動で有効になる.

flashだのadobe airだのadobe readerだの入れても内部ストレージの空き容量が100MB以上あります.
microSDHCカードは16GB,class10のものを入れてみましたが,特に問題はなさそうです.

ab(Apache Bench)でSSLサイトに繋げない

負荷試験をしたかったのでab(apache bench)を起動したのですが,SSL read failedと言われて終了してしまいます.
オレオレ証明書がいけないのかな?と思いましたが他のオレオレ証明書サーバでは問題ありません.
ググるとどうやら非Apacheなサーバ相手にはこの問題が発生する模様.
今回問題になってるのもpound相手です.同じ証明書を使ったApache相手には成功します.

Bug 49382 – ab says "SSL read failed"

2.2.1をダウンロードしてきて./configure –enable-ssl; makeした段階でsupport/ab を起動してみますが症状は一緒.
2.3.14-betaは今回の環境(CentOS5)では依存関係で使えず.

なんとか代替案はないものかしら.

ApacheBenchを使いたいけどApacheを入れるのがだるかったのでベンチマークツール書いた – かるぱねるらすたいる

こちらはperlで書かれたツール.
問題なく動いているようだが,過負荷な試験をするとdivision by zeroが出て終了してしまうことも…

JMeterという手もあるのだがな…

トラックボールで腕が痛い

先日Logicool(Logitech)のM570というトラックボールを使い始めたのですが,どうも腕が痛い.
そもそもその前に使っていたMicrosoftのNatural Wireless Laser Mouse 6000も,腕が痛くならないように使い始めた物です.

2つ並べて見てみると,どちらも傾きがついてますが,M570のほうが低い分だけ腕をひねらなくてはいけません.

とりあえず傾きをつけるかーということで,目の前に転がっていたメモリモジュールを下に挟んでみました.

少しはマシになりましたが,Natural Wireless Laser Mouse 6000ほどではないなぁ.

何か傾斜をつけるためのモノを作って,くくりつけてしまえば良さそうですね.
そのうち検討しよう.