2. 現在直面している問題の確認 – エラーログの紹介
nginxをyumでインストールして問題なく起動ができて利用ができていたのですが、ちょっと落ち着いてから暇なのでネタ探しをかねてエラーログを確認していたところ、以下の用なログを確認しました。
2013/02/02 00:29:01 [emerg] 33882#0: eventfd() failed (38: Function not implemented) 2013/02/02 00:29:01 [emerg] 33883#0: eventfd() failed (38: Function not implemented) 2013/02/02 00:29:01 [emerg] 33886#0: eventfd() failed (38: Function not implemented)
まぁいうまでもなくエラーログを確認してから音速の早さでGoogle先生にお尋ね(笑)
libaioとlibaio-develをインストールして、rebootしたらOK。
http://najeira.blogspot.jp/2011/01/nginxeventfd-failed.html
という情報もあったが、わたしの環境でlibaioとlibaio-develをインストールしrebootしても問題は解消されなかった。
そこで、原因にたどり着く。=> http://d.hatena.ne.jp/funinemo/20120402/1333354079
どうやらコンパイルオプションに含まれる「–with-file-aio」を外すことでエラーログの出力は止められるようだ。このコンパイルオプションによって必要とされる「eventfd()」と呼ばれる処理方法に対応していない環境だと致し方なく、このコンパイルオプションを外すしかないとのこと。ちなみに「eventfd()」ってのは、ファイルI/Oをイベントで操作できるものらしいが、ここらへんはあまり明るくないので誰かライトでてらしてください(汗)
さて、原因がわかったので、今度時間あるときにはソースからのコンパイルを行ってnginxの実行ファイルを置き換えるなど実験してみます。
Have a nice weekend!
コメント
apacheからnginxに移行したいんですが、.htaccessが使えないというのとnginxとawstatsの構築がむずかしそうなんでapacheとnginxを交互にうごかしていたりしてます。