前提
Windowsテスト環境にて、TomcatとNginxを配置して開発環境を整えるためのメモです。
Linuxの人も読み替えで大体行けると思います。
構造
英語で表現すると「Tomcat and Nginx Reverse Proxy on Windows」という構造です。
Tomcat上にJavaのアプリケーションが、Nginx上にSSL証明書があります。
外部からアクセスされるときにはNginxがTomcatのプロキシとなり、HTTPSで受け付けます。
この時、TomcatはHTTPで動作しています。
Tomcatを起動
Tomcatはデフォルトで8080ポートです。
http://localhost:8080/
localhost=127.0.0.1=0.0.0.0の対応関係については
「ローカルループバックアドレス」で検索してください。
※おそらく「なぜ8080なのか」が重要。
リバースプロキシを設置する前提が暗黙ルールになっていると推察できる。
Nginxを配置
公式からC:\nginx\nginx-x.xx.x\にStable versionをダウンロードして配置します。
Nginxのconfファイルを設定
C:\nginx\nginx-x.xx.x\confにて、
念のため、nginx.confをnginx backup.confにコピーしてから編集します。
server {
listen 80;
server_name localhost;#domain.sample.com
root /home/web/tomcat;
access_log /var/log/nginx/tomcat_access.log;
error_log /var/log/nginx/tomcat_error.log;
location / {
proxy_pass http://localhost:8080/;
}
}
NginxのPathを通す
nginx.exeのあるディレクトリをシステム環境変数のPATHへ追加して
コマンドnginxとして使えるようにしておきましょう。
Nginxを起動
cmdまたはpwshを起動して、以下を実行します。
start nginx
http://127.0.0.1にアクセスするとTomcatの画面が表示されます。
初回起動時にポップアップウィンドウが表示されますので、
ファイアウォールでHTTP=80ポートを開けるのを忘れないようにしましょう。
「なんで80なの?」って人は「ウェルノウンポート」で検索しましょう。
Windowsサービス化するにはここを参照
Nginxを終了
cmdまたはpwshを起動して、以下を実行します。
nginx -s stop
2023年7月追記
筆者としては現在のところ、Windowsで開発を行なう場合、dockerでTomcatとNginxを動かすことを推奨します。
また、本番環境ではLinuxで動かすことを推奨します。
Excelsior!