Nginxをリバースプロキシとして設定する

設定するNginxリバースプロキシ。Apache併用構成、ポート変更、バーチャルホスト設定、ロードバランシング実装の完全ガイド

Read in: en
Nginxをリバースプロキシとして設定する

Apacheで運用していたさくらVPSにNginxをリバースプロキシとして設定したのでメモします。

随分前に設定したのでうろ覚えのところもあるかもしれませんがご了承ください。

環境

あると良い(いやあったほうが良い)前提知識

おおまかに仕組みをいうと、 Nginxでリクエストを受け付けてApcheの指定ポートにリクエストを流すという感じです() バーチャルホストの設定はApache側で設定しておきます。Nginxが右から左へムーディ勝山するだけです。

Nginxをインストール

wgetしてyumで落としてくるやり方がカンタンでした。ここでは割愛するので各自の艦橋に合わせてインストールしておいてください。

インストールが完了したら、一度Apacheを停止してNginxの動作確認をしておきましょう。

Apache側のポートを変更する

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>

Nginx側でリバースプロキシの設定をする

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を再起動して完了です!

所感

気になるパフォーマンスはいかほどに・・・といった感じですが、多少は早くなったかな?という感じです。。

インフラの構築は不勉強なところが多々あるので今後頑張ってみようと思います。

Tags: CentOS Nginx apache さくらのVPS
Share: 𝕏 Post Facebook Hatena
✏️ View source / Discuss on GitHub
☕ サポート

このブログを応援していただける方は、以下からサポートをお願いします。いただいたサポートはブログ運営・技術研鑽に活用します。


関連記事