nginx+apacheでCGI:IRCを設置した
cgi:irc
webからircに接続できるCGI:IRCというものを発見したので,使ってみたくなりました.
ところがこれをnginx+fastcgiで動かそうとしたところ、streamが遅延してしまい正常に動作しませんでした.
どうにも上手くいかなかったので,nginxのリバースプロキシ機能を使って,cgiircのみapacheで動かすことにしました.
リバースプロキシについて
リバースプロキシを使ったのは初めてなので,調べたことをまとめてみます.
- 扱おうとしている処理の方向が普通のプロキシと逆だから「リバース」プロキシ
- 主にwebサーバのパフォーマンス改善のために用いられる
- クライアントとwebサーバの間に入って静的コンテンツをキャッシュ→webサーバの負荷を減らす
- クライアントからのアクセスを複数台のバックエンドサーバへ振り分け→ロードバランシング
設定
nginxをフロントエンドとして,cgiirc(http://cgiirc.example.com)へのアクセスはapacheに渡す設定を行います.
nginxとapacheは同一のサーバに入っているとします.
nginx側の設定
http://cgiirc.example.comへのアクセスをapacheに渡すようにします.
cgiirc.example.comはバーチャルホストで動かします.
conf.d/cgiirc.confファイルに以下の内容を書き込みます.
conf/nginx.confの中身はほとんどデフォルトのままで使っています.