nginxでリバースプロキシ
nginxの話題を多く聞くので、勉強として触ってみました。
とうことで備忘録
nginx:リバースプロキシ apache:バックエンド
な感じで構築してみました。
*1
環境
OS:CentOS6 (さくらVPS)
リバースプロキシ:nginx/1.4.3
バックエンド:Apache/2.2.15
まずはnginxのインストールから
sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm sudo yum install -y nginx
これでインストールは完了したので以下コマンド起動を確認
localhostにポート80でアクセスして、「Welcome to nginx!」が表示されていればOK
※私の場合、さくらのVPS:ポート8080で動作させていたのですが、iptablesで制限かけていることに気づかずはまりましたorz
sudo service nginx start
続いて、nginxの設定を行います。
上記の手順でインストールしてれば/etc/nginxに設定ファイル群が存在しているはずです。
Apacheのhttpd.confに該当するのが、nginx.confだと思ってください。
ls /etc/nginx/
conf.d fastcgi_params koi-utf koi-win mime.types nginx.conf scgi_params uwsgi_params win-utf
nginx.confを見てみると、ポートやサーバ名の設定部分が見当たりません。
が、よくよく見ると以下の記述が見当たります。
include /etc/nginx/conf.d/*.conf;
そうです。
conf.d配下を確認すると、default.confが存在しているのが確認できます。
ポート等の設定はdefault.confに記述されています。
ということで設定してみましょう。
以下の設定だけでOKです。
listen 80; location / { proxy_pass http://127.0.0.1:8080; # root /usr/share/nginx/html; # index index.html index.htm; }
nginxを再起動させれば、リバースプロキシとして動作していることを確認できるはずです。
※ただし、この状態だとApache側のアクセスログにIP:127.0.0.1しか残りません。