Ubuntu 16.04 + NginXにTomcatを載せてみよう

Tomcatはその生まれながらApacheとのお揃いという気分なので、Nginxのインストールのとき、まったく考えたことがなかった。

しかし、SCITマスターでも習い続けているので、いずれにせよ講義室のパソコンをサーバーに出せないので、Nginxが起動されているこのサーバーにJSPの機能を追加することが一番自然な流れだと思う。

Cafe24という韓国のホスティングサービスでも一時はサービス中断になるほど、古い技術だが、PHPと共存することもあるらしい。

やはり、PHPのバージョン4あるいは5みたい古くなり、伝統さえ感じてしまいそうだが、こちらもレガシーとかなんとかで、バージョンを全部同時に配布している。

すでにNginxが設定済みであると仮定する。

  1. Tomcatをインストールする。
    1. # apt-get update
      # apt-get install tomcat8
  2. はいっ、ここでインストールはおしまい。
  3. 手早くhomeディレクトリから、ウェブルートに入るために、シンボリックリンクを作る。
    1. # ln -s /var/lib/tomcat8/webapps/ ~/webapps
  4. Tomcatが起動中か確かめて、起動してない場合、実行する。
    1. # service tomcat8 status
      # service tomcat8 start
  5. nginx.conf (普段/etc/nginxにある)をロードして、ファイルの修正をする。includeもある場合、server節はinclude命令のディレクトリから探す必要がある。
    1. ファイルの内容でhttp節に次のように書き込む。/etc/tomcat8/server.xmlの内容にあわせて、ただしいポート(最初は8080)を決める。
      1. # for tomcat jsp
            upstream tomcat {
                ip_hash;
                server 127.0.0.1:8080;
            }
    2. server節を次のように変更する。nameがかぶるともともとのserver節の消す必要がある。
      1. server { # MY DOMAIN
                listen       80;
                server_name  mydomain.net;
        
                location / {
                    proxy_set_header    HOST $http_host;
                    proxy_set_header    X-Real-IP $remote_addr;
                    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header    X-Forwarded-Proto $scheme;
                    proxy_set_header    X-NginX-Proxy true;
        
                    proxy_pass http://tomcat;
                    proxy_redirect  off;
                    charset utf-8;
                }
        }
  6. nginx -tを実行して、okサインを確認したら、service nginx reloadで確認する。
  7. server_nameに書いたドメインも確認する。

apt-get install tomcat8-examplesでサンプルを勉強する。JSPとServletがスムースに動くのが見えたら成功だ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です