はじめに
本記事はnginx、JDK、tomcatの連携方法をまとめた記事になります。
nginxはamazon-linux-extras
で、JDKとtomcatはyum
でインストールしたときの設定の仕方をまとめておきます。
バージョン
nginx 1.20.0
JDK 1.8.0_332
tomcat 7.0.76
構築
今回はルートユーザーで設定を進めていきます。
$ sudo su -
JDKのインストール
amazon-linux-extrasをenabledにします。
# amazon-linux-extras enable corretto8
JDKをインストールしていきます。
# yum install java-1.8.0-amazon-corretto java-1.8.0-amazon-corretto-devel
バージョンの確認ができればインストールの完了です。
# java -version
openjdk version "1.8.0_332"
OpenJDK Runtime Environment Corretto-8.332.08.1 (build 1.8.0_332-b08)
OpenJDK 64-Bit Server VM Corretto-8.332.08.1 (build 25.332-b08, mixed mode)
tomcatの設定
インストールしていきます。
# yum install tomcat tomcat-webapps tomcat-admin-webapps
tomcatを起動し、自動起動の設定をしておきます。
# systemctl start tomcat
# systemctl enable tomcat
ブラウザからhttp://パブリックIP:8080
にアクセスしてtomcatのテストページが表示されれば成功です。
もし表示されなかった場合は、AWSコンソールからセキュリティグループ設定で8080番ポートが開いているか確認してみてください。
nginxの設定
nginxをインストールしていきます。
# amazon-linux-extras install nginx1
nginxを起動し、自動起動も設定しておきます。
# systemctl start nginx
# systemctl enable nginx
http://パブリックIP
に接続してnginxのテストページが確認できればOKです。
もし表示されなかった場合は、AWSコンソールからセキュリティグループ設定で80番ポートが開いているか確認してみてください
ここまで確認出来たら、tomcatとnginxを連携していきます。
設定ファイルの編集
nginxの設定ファイル/etc/nginx/nginx.conf
を編集していきます。
ポート80番にきた接続を8080番に流すプロキシの設定を記載していきます。
# vi /etc/nginx/nginx.conf
~~~前略~~~
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
~~~後略~~~
~~~前略~~~
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
# 下の3行を追記
location / {
proxy_pass http://グローバルIPアドレス:8080/;
}
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
~~~後略~~~
設定が完了したらnginxを再起動します。
# systemctl restart nginx
http://パブリックIP
に接続して今度はtomcatのテストページが表示できるようになれば連携完了です。
所感
今回の構築にあたり、tomcatのインストールファイルが足りず、少し時間がかかってしまいました。不足なくインストールすることは気を付けていきたいです。
また、nginxをyumでインストールしたり、tomcatを圧縮ファイルからダウンロードしたり、方法は他にもありますが、amazonlinux2の場合は(バージョンにこだわらなければ)今回の方法がもっともシンプルかなと思います。