今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

VPSのapacheが起動しなくなった

昨日のお昼すぎに、VPSで動かしてる自前のサイトが止まってるのに気付いた。
apacheを再起動したら、OKと出るんだけど動いてない。
起動した直後に終了してるらしい。

なにか情報が残ってないかと思って、/var/log/httpd/error_log を確認する。

設定の問題?
apacheの設定なんて何も変えてないのに。
configtestしてみる。

この際だから、最新版の2.4.23にアップデートしようと思うわけで。

しかし、最新版のインストールに失敗する。
ちょっと調べたけど、問題解決がいろいろとめんどくさそう。
なので、apache-2.2.27で妥協することに。

で、apache-2.2.27のインストールは成功。
(最新版は2.2.31だった(汗))

起動しようとしたら、エラーメッセージが変わった。
そのエラーメッセージでぐぐったら、セマフォが枯渇しているらしい。

# ipcs -s

どっさり出た。
全部、apacheのもの。apacheは、cronで定期的に再起動させてる。だけど、その度にセマフォのリークが起きてるわけではないらしい。定期的に再起動させてるけど、再起動の回数よりもはるかに少ないから。

ということは、絶妙なタイミング終了させるとセマフォを消し忘れる?
バージョンアップしたから、もしかしたらバグフィックスされてるかも。

とりあえずセマフォを削除する。

# ipcs -s | awk '/apache/{print $2}' | xargs -r ipcrm sem

これでapacheを再起動できた。

サブディレクトリにアクセスできないとか、バーチャルホストにアクセスできないとか、個々の問題を解消していって、ほぼ今までどおりに動くようになった。

が、ひとつのサイトだけ、なぜか動いてくれない。

Database Error: Unable to connect to the database:Could not connect to MySQLDatabase Error: Unable to connect to the database:Could not connect to MySQL

これ、Joomla!のサイト。

別のJoomla!のサイトは普通に動いてるのに。

コマンドラインから mysql に接続してみる。
ユーザー名とパスワードは設定ファイルに書いてるのをコピペで。

# mysql --user=hoge --password=hogehogepassword hogedb

問題なく接続できますし。

イマココ。

何が悪いんだろう?