EC2にNginx+Tomcat+CorrettoでJava11環境を作るTweetこの連載ではAWSのEC2を使ってJavaのWebアプリ環境を数回に渡って作成していきます。作成する環境は以下の通りです。Correttoを使ってJavaの環境のみ用意しました。今回はEC2にNginxとTomcatをインストールして、Webサーバ環境(サーブレット環境)を構築します。NginxのインストールNginxのインストールは以下のコマンドで行います。nginx1.12nginxのパッケージバージョンに関しては以下のコマンドで利用可能なバージョンを選択してください。nginxインストールができたら自動起動の設定をしておきましょう。nginx起動するコマンドは以下です。nginx起動したらブラウザでEC2のパブリックDNSにアクセスして、以下の表示になっていればOKです。Tomcat9のインストール執筆時点で最新のTomcat9をインストールします。この時点ではyumがtomcat7.0、amazon-linux-extrasもtomcat8.5だったため、公式サイトから最新パッケージをダウンロードして手動でインストールします。homeディレクトリにファイルをダウンロードして解凍しましょう。~/apache-tomcat-9.0.24.tar.gz続けて解凍してできたフォルダを「/opt」に移動させます。ついでにシンボリックリンク「/opt/tomcat」を作成しておきます。/opt/tomcat次にTomcat用のユーザー「tomcat」を作成し、フォルダのオーナーを設定します。/opt/apache-tomcat-9.0.24インストールしたTomcatをサービスに登録しましょう。以下のコマンドで、新規に「tomcat.service」を作成してください。/etc/systemd/system/tomcat.service中身には以下を貼り付けてください。9After=network.target[Service]User=tomcatGroup=tomcatType=oneshotPIDFile=/opt/apache-tomcat-9.0.24/tomcat.pidRemainAfterExit=yesExecStart=/opt/apache-tomcat-9.0.24/bin/startup.shExecStop=/opt/apache-tomcat-9.0.24/bin/shutdown.shExecReStart=/opt/apache-tomcat-9.0.24/bin/shutdown.sh;/opt/apache-tomcat-9.0.24/bin/startup.sh[Install]WantedBy=multi-user.target実行権限を与えれば完成です。/etc/systemd/system/tomcat.service上手くできていれば、以下のコマンドで起動時の登録や実行ができると思います。tomcat起動したらブラウザで「(EC2のパブリックDNS):8080」にアクセスして、以下の表示になっていればOKです。(リバースプロキシ)Nginxにリバースプロキシの設定をして、Tomcatへのリダイレクト設定を行います。以下のコマンドで、「nginx.conf」を開きましょう。/etc/nginx/nginx.conf開いたら以下の一行を画像の位置に追加して保存しましょう。http://127:0.0.1:8080/;以下のコマンドでNginxを再起動しましょう。nginxNginxインストール後に確認したEC2のパブリックDNSにブラウザでアクセスすると、ポート8080でアクセスした時と同様にTomcatのページが表示されるはずです。(されない場合はブラウザのキャッシュをクリアして試してください。)これでNginxとTomcatの連携は完成となります。今回は最低限の設定しかしていないので、リバースプロキシについてもう少し詳しく知りたい方は以下の記事を参考にしてください。Nginx応用編2リバースプロキシとして動かす(前編)これでJavaサーブレットを実行する環境まで整いました。