passengerのRailsPoolIdleTime

Redmineの初回アクセス時とか、しばらく時間を明けた後の接続が非常に重い。

Aapcheのアクセスログに%Tを付けて「リクエストを扱うのに掛った時間(秒単位)」を取得すると、10秒も掛っている事が分かった。
Apache モジュール mod_log_config

調べたところ、RedmineをApacheで動かす為に使っているpassengerが、デフォルトで2分間、アクセスが無かったらRailsを止めているみたい。

つか、Redmineのページにも書いてあったの見落としていた・・・
Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用

このデフォルト値を変更する為、httpd.confに以下を追加してApacheを再起動する。
RailsPoolIdleTime 172800

※あまり時間を大きくするとリソースやら別の問題が出てきそうだから、とりあえず12時間に設定

あと、MySQLのスロークエリのログを取得する為、/etc/my.cnfに以下を追加
[mysqld]
long_query_time=2
log-slow-queries=/var/log/slow.log

ウィンドウの位置を戻す

ノートPCにモニター繋いでデスクトップを拡張していたのですが、ある時からノートPC単体の時にTeratarmが拡張モニター側に表示されるようになった。

Teratarmは拡張モニター側で表示されているみたいだが、マウスはノートPCの渕から移動できない、と言った変な現象。

いちいち拡張モニターに繋いで、Teratarmの窓をノートPC側に移動して、、、とかやっていたがさすがに面倒になってきた。

ググってみると、YAHOO知恵袋に解決方法があった。

①まず画面の外に行ってしまったソフトを起動します
②Alt+Tabでそのソフトをアクティブにします
③Alt+Spaceを押します
④ウィンドウが隠されている方向にプルダウンメニューが出ます
⑤Mを押す、又は矢印キーで「移動(M)」を選択してからEnterキーを押す
⑥適当な矢印キーでウィンドウを移動させます

おぉ~。さくっと解決したw

ダイナミックパブリッシング 真っ白

おとといインストールしたMovableTypeのスマートフォンをオプションで、カテゴリ別アーカイブを選択するとページが真っ白になって何も表示されない。
ダイナミックパブリッシングの設定は問題ないはずだけどなぁ。
週末にMovableTypeを新規に入れ直すか?

sendmailはresolveを記憶しているのか

サーバの参照先DNSを変更する為、「/etc/resolve.conf」を修正したネットワークを再起動した後から、メールが配送出来なくなった。

ログを見ると、名前解決がタイムアウトしてるっぽい。

調べると、sendmailはresolveを覚えているみたいなので、「/etc/resolve.conf」を変更した後にsendmailも再起動する必要があるらしい。

何年か前に同じエラーがあった気がするが、今度こそ忘れないようにメモ。

情報セキュリティスペシャリスト試験落ちたw

午前I・・・68点(合格)
午前II・・・68点(合格)
午後I・・・66点(合格)
午後II・・・46点(不合格)

60点以上が合格点に対し、全てにおいてギリギリw
午後Iで諦めていたが、そこは何とかクリアした。

来年また頑張ろう。
20111216.jpg

MT for スマフォがインスコ出来ない

あれ?

スマートフォンオプションのインストールどおりに進めているが、スマフォ用の管理画面が表示されない。

一般的なブログサービスの方が、専用の投稿アプリとかリリースしているし、自宅で管理する必要がそろそろ見えなくなってきたw

seesaaブログに全部乗り換えて、動画とか大きいファイルだけ、こっちで公開しようか検討中。

OpenVPNのTAPアダプタ

利用者がPCを買い替えたのでOpenVPNの再設定を行ったが、いざ使おうとするとエラーが出て接続できないと連絡があった。

クライアントのログを見ると、末尾に以下のエラーメッセージが。
All TAP-Win32 adapters on this system are currently in use.

ググって、OpenVPNクライアントで複数のコネクションを確立するのページを発見。

“複数”のOpenVPN、、、環境が違うが、たぶんOpenVPN GUIのインストール時に、TAPアダプタのインストールをし忘れたんだろう。

記載の通り、クライアント側で
C:\Program Files\OpenVPN\bin\addtap.batを実行し、TAPアダプタの新規作成を行うと、見事VPNに接続が出来た。

20111027.jpgのサムネール画像

Can’t create/write to file ‘/tmp/xxxxxx’

作業していたら、突然MySQLが落ちた。

mysqldの再起動を行っても、以下のようなエラーが/var/lib/mysql/hoge.errに記録されるだけで起動できない。

111026 11:38:54 mysqld_safe mysqld from pid file /var/lib/mysql/hoge.pid ended
111026 11:38:54 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
111026 11:38:54 [Note] Plugin ‘FEDERATED’ is disabled.
111026 11:38:54 InnoDB: The InnoDB memory heap is disabled
111026 11:38:54 InnoDB: Mutexes and rw_locks use GCC atomic builtins
111026 11:38:54 InnoDB: Compressed tables use zlib 1.2.3
111026 11:38:54 InnoDB: Using Linux native AIOG /usr/sbin/mysqld: Can’t create/write to file ‘/tmp/ib96HR1Q’ (Errcode: 28)
111026 11:38:54  InnoDB: Error: unable to create temporary file; errno: 28
111026 11:38:54 [ERROR] Plugin ‘InnoDB’ init function returned error.
111026 11:38:54 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
111026 11:38:54 [ERROR] Unknown/unsupported storage engine: InnoDB
111026 11:38:54 [ERROR] Aborting

111026 11:38:54 [Note] /usr/sbin/mysqld: Shutdown complete

111026 11:38:54 mysqld_safe mysqld from pid file /var/lib/mysql/hoge.pid ended

どうやらテンポラリディレクトリに指定している/tmp内にファイルが書き込めないらしい。

/tmpのパーミッションを777にして、mysqldの再起動。

ん~、変化なし。

色々調べたが、直前の作業の時に出来たゴミを捨ててなかったのが原因で、/tmpがある/の容量が100%を指していた為だった。

Apache Killerの対策

8/24に会社から連絡があり、取り急ぎ対策が必要なApacheには、アドバイザリ通りの記述行い対策しました。
おかげでエヴァ波の地上波の前半を見逃した・・・orz

# Drop the Range header when more than 5 ranges.
# CVE-2011-3192
SetEnvIf Range (?:,.*?){5,5} bad-range=1
RequestHeader unset Range env=bad-range

# We always drop Request-Range; as this is a legacy
# dating back to MSIE3 and Netscape 2 and 3. RequestHeader unset Request-Range

あと、仕事上付き合いがある徳丸氏のブログにも本件について書かれており、MaxClientsのチューニングが重要だと。

ウチもApache2.2を使っているが、MaxClientsのデフォルト値は150だった。
Apache Killerの対策をしないと、MaxClients150×24MBで、3600MB(約3.5GB)のメモリをApacheだけで食う事になる。

契約しているVPSはメモリ1GBコースだから、無理www

つーことで、httpd-mpm.confのMaxClients数を25に落とす。
こんな寂れたブログを見に来る人もいないだろうからw

–2011.8.31 追記–
8/30に2.2.20がリリースされました。
http://archive.apache.org/dist/httpd/httpd-2.2.20.tar.bz2

apache2.0系はまだ未リリースみたい。
暫定対策が済んでいないapacheがあれば、至急アップデートを行いましょう。