LoginSignup
2
0

More than 1 year has passed since last update.

nginxとtomcatの連携(amazonlinux2)

Posted at

はじめに

本記事は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のテストページが表示されれば成功です。
スクリーンショット 2022-07-11 152905.png
もし表示されなかった場合は、AWSコンソールからセキュリティグループ設定で8080番ポートが開いているか確認してみてください。

nginxの設定

nginxをインストールしていきます。

# amazon-linux-extras install nginx1

nginxを起動し、自動起動も設定しておきます。

# systemctl start nginx
# systemctl enable nginx

http://パブリックIPに接続してnginxのテストページが確認できればOKです。
スクリーンショット 2022-07-11 151407.png

もし表示されなかった場合は、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のテストページが表示できるようになれば連携完了です。
スクリーンショット 2022-07-11 152905.png

所感

今回の構築にあたり、tomcatのインストールファイルが足りず、少し時間がかかってしまいました。不足なくインストールすることは気を付けていきたいです。
また、nginxをyumでインストールしたり、tomcatを圧縮ファイルからダウンロードしたり、方法は他にもありますが、amazonlinux2の場合は(バージョンにこだわらなければ)今回の方法がもっともシンプルかなと思います。

参考サイト

knowledgeにはnginxがお手軽か?
NginxとTomcatでリバースプロキシ連携

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0