Apacheで運用していたさくらVPSにNginxをリバースプロキシとして設定したのでメモします。
随分前に設定したのでうろ覚えのところもあるかもしれませんがご了承ください。
おおまかに仕組みをいうと、
Nginxでリクエストを受け付けてApcheの指定ポートにリクエストを流すという感じです()
バーチャルホストの設定はApache側で設定しておきます。Nginxが右から左へムーディ勝山するだけです。
wgetしてyumで落としてくるやり方がカンタンでした。ここでは割愛するので各自の艦橋に合わせてインストールしておいてください。
インストールが完了したら、一度Apacheを停止してNginxの動作確認をしておきましょう。
Nginxでは80番ポートを使うことにします。
Apache側ではそれ以外のポートを指定しましょう。
ここでは8080番ポートを使用することにします。
/etc/httpd/conf/httpd.conf
NameVirtualHost *:8080
<VirtualHost *:8080>
hogehogehogehoge...
</VirtualHost>
補足
iptablesの確認は、iptables -L
iptablesの場所は、
/etc/sysconfig/iptables
独自ドメインのバーチャルホストの設定をしている場合は、そっちの方のポートも変更しておきましょう。
Ex. /etc/httpd/conf.d/hoge.com.conf
# Domain
<VirtualHost *:8080>
ServerName hoge.com
DocumentRoot "/var/www/html/hoge"
DirectoryIndex index.html index.php
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log combined
AddDefaultCharset UTF-8
<Directory "/var/www/html/hoge">
AllowOverride All
</Directory>
</VirtualHost>
# Sub Domain
<VirtualHost *:8080>
ServerName sub-hoge.hoge.com
DocumentRoot "/var/www/html/sub-hoge"
DirectoryIndex index.html index.php
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log combined
AddDefaultCharset UTF-8
<Directory "/var/www/html/sub-hoge">
AllowOverride All
</Directory>
</VirtualHost>
ApacheとNginxを共存して徐々に移行するを参考にさせていただきました。
/etc/nginx/conf.d/reverse_proxy.conf
"reverse_proxy.conf" 14L, 392C
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
最後にApacheとNginxを再起動して完了です!
気になるパフォーマンスはいかほどに・・・といった感じですが、多少は早くなったかな?という感じです。。
インフラの構築は不勉強なところが多々あるので今後頑張ってみようと思います。