nginxからPlay Frameworkを呼ぶ

一つのサーバーでWordpressとPlay Frameworkの両方を動かしたい。前回はnginxからWordpressを呼ぶところまでやった。今回はURLによってWordpressを動かしたりPlay Frameworkを動かしたりということをやってみたい。

やり方

nginxからリバースプロキシを設定してあげます。設定ファイルを書き換えます。場所は環境によってそれぞれですが、ubuntuの場合は/etc/nginx/sites-available/defaultなどです。

server {
 .....
 location /play/ {
 proxy_pass http://localhost:9000;
 }
location / {
 # First attempt to serve request as file, then
 # as directory, then fall back to displaying a 404.
 try_files $uri $uri/ /index.html;
 # Uncomment to enable naxsi on this location
 # include /etc/nginx/naxsi.rules
 }
 .....

 serverの中にlocation(location /play/)を追加します。あとはPlay Frameworkを立ち上げてブラウザからhttp://localhost/play/にアクセスすればPlay Frameworkが表示されます。これだけ。routeは再設定が必要だと思われます。

余談

WordPressプラグインの中にはApacheを使う事を前提にしたものがたまにあるようです。つまり、.htaccessファイルをつくってそこに何かの設定を書き入れたりするようなものがあります。私の知る限り、SEO Ultimateがどうもこういうことをやっているようです。あと、静的キャッシュを生成して速度を上げるような類のプラグインも同じく使っていると思われます。こういうものは当然nginxでは動作しないので注意が必要です。