久しぶりにブログを更新しようと思ったら管理者画面に入れなくなって完全に詰んでたへっぽこ管理者チャットです。
はい。完全に焦りました。
数週間ぶりに更新しようと思ったら502のエラーページで本当にびっくりですよ。
僕がアプリ屋だったら速攻でインフラの方に問い合わせて「おいてめーどうなっとんじゃい。」とクレームだしてるところでしたね。
クレームだそうにもこのブログのサーバいじってるの僕だし仕事でもインフラ屋さんやってるので泣きそうになりながら頑張りました。
その備忘録です。
どんな状況だったか
- ブログのtopページは見れる(ただしなんか開くのに時間はかかる)
- 管理者画面にアクセスすると502 bad gatewayがでてウェーイってなる。
- 僕が涙目
こんな感じでした。
僕は完全にヘタレなので、
「うん、最近更新も滞ってたしもう閉鎖かな。頃合いかな。」
なんて思ったりしました。
とりあえずログを確認。
1 |
less /var/log/nginx/i-xxxxxerror.log |
※上記はちょっとマスクしてありますが、とりあえずll /var/log/でファイル名は確認してください。
すると、
/var/run/php-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream
はい、意味がわかりません。
Resource temporarily unavailableでググる
よくわかりませんでしたが、アクセスされたときにメモリだとかが足りなくなってしまいどうしようもなくなってる状態と理解しました。
というわけで。
対処法(やったこと)
/etc/php-fpm.d/www.conf を修正
pm.max_children = 5
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 4
を
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
※値は適当です。要は増やしてあげればいい。ちょっと増やして上げればいい。参考にしたサイトではもっとガッツリ上げてましたが僕は小さくあげました。
そんなにすごいサーバ使ってるわけでもないので。
/etc/php.d/apc.ini を修正
apc.shm_size=64M
を
apc.shm_size=768M
に変更。
/etc/php.ini を修正
memory_limit = 128M
を
memory_limit = 768M
に変更
このブログのサーバはそんなにメモリは潤沢じゃないので、代わりに、
/etc/my.cnf を修正
query_cache_size=64M
を
query_cache_size=16M
に変更
そんで、
1 2 |
/etc/init.d/php-fpm restart /etc/init.d/nginx restart |
念のためnginxも再起動
これでなんとかいつもどおりの画面がでました。よかった。
topページもわりと普通にアクセスできるようになったのでよかったです。
しかしなんでこんなことになってしまったのかは謎です。。。
またそのうちになるんじゃないだろうか・・・その時こそブログ閉鎖かな。
参考にしたサイト様
そんな感じです。
今日の一言
いや、本当はもっと色々と調べた結果の上なんですけど結果に至ったプロセスすべて書いてたらきりがないのでと言い訳した結果中途半端になった適当チャットより。