nginxのキャッシュヒット率をmuninで表示

ngninxのキャッシュhit率をmuninで表示させてみます。

muninなんで簡単なんですが、メモ代わり

キャッシュ専用のログを取得する設定をnginxに追加します。
僕は、設定を専用のconfに分けました。

#vim /etc/nginx/conf.d/cache.conf
log_format cache '$remote_addr - $host [$time_local] "$request" $status '
'$body_bytes_sent "$http_referer" '
'rt=$request_time ut="$upstream_response_time" '
'cs=$upstream_cache_status';
access_log /var/log/nginx/cache-access.log cache;

こんな感じで、設定して
nginx再起動

# /etc/rc.d/init.d/nginx restart

続きを読む "nginxのキャッシュヒット率をmuninで表示"

CentALTでnginxとmariadbのupdate

CentALTでnginxとmariadbのupdateが出てたのでupdateをしてみました。

普段は開放していないCentALTリポジトリを開放して
yum check updateをすると新しいバージョンのCentALTリポジトリから提供されています。

# yum --enablerepo=CentALT check-update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: ftp.nara.wide.ad.jp
* epel: ftp.iij.ad.jp
* extras: ftp.nara.wide.ad.jp
* updates: ftp.nara.wide.ad.jp
続きを読む "CentALTでnginxとmariadbのupdate"

CentALTリポジトリでnginxをupdate

ターミナルに繋いだらまずは

# yum check-update

をしてupdateをチェックするのが楽しみな僕ですが、本日叩いた所
nginxのアップデートがCentALTリポジトリから出ていました。
nginx公式HPで見てみると
ほぼ最新の物のようですね。

CentALTリポジトリは、他にもmariadbやvsftpdなど最新に近い物が配布されているので
パッケージで管理を行いたい場合便利だとおもいます。

こんな感じでリポジトリに追加すると使えます。

# vim /etc/yum.repos.d/centos.alt.ru.repo

[CentALT]
name=CentALT Packages for Enterprise Linux 6 - $basearch
baseurl=http://centos.alt.ru/repository/centos/6/$basearch/
enabled=1
gpgcheck=0

nginx最新?バージョンをcentos.alt.ru.repoでyumでインストール。

nginxの最新を入れるのに前は、rpm落としてきたりでめんどくさかったんで
yumでいれてたいなーって思ったところありました。

こちらのサイト

readme.txtに有るように
リポジトリ追加

# vim /etc/yum.repos.d/centos.alt.ru.repo

[CentALT]
name=CentALT Packages for Enterprise Linux 6 - $basearch
baseurl=http://centos.alt.ru/repository/centos/6/$basearch/
enabled=1
gpgcheck=0

サンプルどおりに追加し

# yum check-update

をかけた所、nginx-1.3.15
が入りました。現時点で最新開発バージョンの一個前なんでいい感じでしょう。

最新に近いnginxがインストールされました。

余談ですが・・・
CentALTリポジトリを使うとapache他も新しいのが入るので「この際入れちまえ!」って入れましたが

[emerg] 3107#0: bind() to 0.0.0.0:443 failed (98: Address already in use)

今回のapacheのupdateでssl.confが新たにapache側で作成されて
443ポートの設定が重複してしまい、エラーがでてnginxあがらんかったんですが
ssl.confをリネームして解消しました。

updateは気をつけないとならないですね。

instagram.php on line 306 エラー

酒飲みながらサーバーをゴニョゴニョやっててphpの入れ替えとか遣ってたら

PHP Fatal error: Call-time pass-by-referencep-content/plugins/instapress/instagram.php on line 306

こんな、エラーがでてwordpressので作っているこのサイトが表示されなくなった。
なんぞ!とおもってちょっとぐぐった所。
http://wordpress.org/support/topic/plugin-instapress-error-when-i-try-to-activate
要はphpのバージョンがあがったからプラグインが使えなくなったらしい。
で対処法も書かれていたのでそれを反映させてみた。

# pwd
/home/hogehoge/html/wp-content/plugins/instapress

# diff instagram.php instagram.php.org
306c306
< $data = InstagramPlugin::getFeedByUserId($userid, $max_id, $nextMaxId, intval($values['piccount'])); --- > $data = InstagramPlugin::getFeedByUserId($userid, $max_id, &$nextMaxId, intval($values['piccount']));
309c309
< $data = InstagramPlugin::getFeedByUserId($userid, $max_id, $nextMaxId, intval($values['piccount']), new InstapressFeedFilter('tags', $values['tag'], InstapressFeedFilter::IN_ARRAY)); --- > $data = InstagramPlugin::getFeedByUserId($userid, $max_id, &$nextMaxId, intval($values['piccount']), new InstapressFeedFilter('tags', $values['tag'], InstapressFeedFilter::IN_ARRAY));
311c311
< $data = InstagramPlugin::getFeedByTag($values['tag'], $max_id, $nextMaxId, intval($values['piccount'])); --- > $data = InstagramPlugin::getFeedByTag($values['tag'], $max_id, &$nextMaxId, intval($values['piccount']));
777c777
< $token = $instagram->getAccessToken($errorMessage);
---
> $token = $instagram->getAccessToken(&$errorMessage);

こんな感じ
$nextMaxIdの前にある&をとればいいだけ。
変更後無事サイトの閲覧が出来るようになりました~

nginxファイルのアップロードサイズ変更_client intended to send too large body

ラーメンの写真を上げようとしたら
wordpressでhttpエラーと表示されて
アップロードできなかった。
画像のサイズを変えたからだろうとおもって
nginxのerrorログを見てみると↓なエラーがでてました。
client intended to send too large body

ファイルアップロードサイズを超えてるってなかんじみたいですね。
対象のlocationの制限を明示的に設定してあげればよい感じです。
client_max_body_size 10M;
こんな感じにして再起動したら、アップロードできました。