■できたもの
http://goodpreparations.co.cc/gourmet/main.html
■やったこと
- 疑似的に複数のHTTPサーバーが起動しているような環境にするため、3つのVirtualHostを作成してlistenするポートで区別することにした。
- Apacheのmod_proxyモジュールを利用し、リバースプロキシが実現できることを確認した。
- Apacheのmod_proxy_balancerモジュールを利用して、ロードバランシングが実現できることを確認した。
■設定箇所
1. /etc/apache2/sites-available/defaultの変更箇所
<VirtualHost *:80>
# not use forward proxy
ProxyRequests Off
# simple proxy setting
# set reverse proxy
#ProxyPass /gourmet http://183.181.30.44:81/gourmet
# override http header info(URL) to reverse proxy server
#ProxyPassReverse /gourmet http://183.181.30.44:81/gourmet
# load balancing proxy setting
<Proxy balancer://gourmet>
BalancerMember http://183.181.30.44:81/gourmet/
BalancerMember http://183.181.30.44:82/gourmet/
</Proxy>
ProxyPass /gourmet balancer://gourmet
ProxyPassReverse /gourmet balancer://gourmet
</VirtualHost>
<VirtualHost *:81>
# root directory
DocumentRoot /home/kenji/gourmet
<Directory />
# enable to follow symbolic links, hide contents of directory
Options FollowSymLinks
# forbid to override the settings on sub-directories
AllowOverride None
</Directory>
# error log path
ErrorLog /home/kenji/gourmet/error.log
# custom log path
CustomLog /home/kenji/gourmet/access.log combined
</VirtualHost>
<VirtualHost *:82>
DocumentRoot /home/kenji/gourmet
<Directory />
Options FollowSymlinks
AllowOverride None
</Directory>
ErrorLog /home/kenji/gourmet/error2.log
CustomLog /home/kenji/gourmet/access2.log combined
</VirtualHost>
2. /etc/apache2/ports.confの変更箇所
NameVirtualHost *:80
NameVirtualHost *:81
NameVirtualHost *:82
Listen 80
Listen 81
Listen 82
3. mod_proxy_balancerの有効化
デフォルトでは、mod_proxy_balancerモジュールがアクティブじゃなかったので、下記コマンドを実行して有効にしました。
$ a2enmod proxy_balancer
■その他
sites-available(mod-available)、sites-enabled(mod-enabled)の違いがよく分からなかったので調べました。availableの方には文字通り利用可能なリソースを配置して、enabledでアクティブにしたい設定、またはモジュール(availableの方にあるもの)にシンボリックリンクをはるらしいです。
■参考にしたサイト
1. mod_proxyについて
http://httpd.apache.org/docs/2.1/ja/mod/mod_proxy.html
2. mod_proxy_balancerについて
http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy_balancer.html
3. available、enableの違いについて
http://www.linux.net-japan.info/install08.html
0 件のコメント:
コメントを投稿