Spring BootでTomcatのポート番号を変更する方法をわかりやすく解説!
こんにちは。ゆうせいです。
今回は、Spring Boot(スプリング・ブート)のプロジェクトで、組み込みTomcatサーバーのポート番号を変更する方法について、新人エンジニアの方向けに丁寧に解説していきます。
「ポートって何?」というところから、「どこをどう書き換えればいいの?」まで、しっかりカバーしますので安心してくださいね。
ポート番号とは何か?
まず、ポート番号について少し説明しましょう。
ポート番号のイメージ
ポート番号とは、サーバー内のアプリケーションごとの入り口の番号のようなものです。
例えば、学校の校舎を想像してください。校舎(サーバー)にはいくつもの教室(アプリケーション)があり、それぞれの教室には教室番号(ポート番号)があります。
誰かが校舎に入って「301教室に行きたい」と言えば、それは301番のポートにアクセスする、ということになります。
Spring BootにおけるTomcatの役割
Spring Bootでは、Tomcat(トムキャット)というWebサーバーが組み込み(組み込み=ビルトイン)で使われています。
つまり、Spring Bootアプリを起動すると、自動的にTomcatも起動して、デフォルトではポート番号8080番でアプリケーションを公開してくれるのです。
でも、8080番が他のアプリケーションとバッティングしていたら…?
そんなときはポート番号を変更する必要があります。
ポート番号を変更する方法
方法①:application.properties
を使う(最も一般的)
src/main/resources/application.properties
に次の1行を追加します:
server.port=8081
説明:
server.port
:Tomcatのポート番号を指定するプロパティ8081
:任意のポート番号。すでに使われていない番号を選びましょう
ポイント!
例えば「すでに8080を他のアプリが使っていて起動できない!」というときに、8081や8888などに変更するとOKです。
方法②:application.yml
を使う場合
application.yml
という形式の設定ファイルを使っている場合はこちら:
server:
port: 8082
YAML形式では、インデント(字下げ)に注意してください。スペースを入れ忘れるとエラーになります!
方法③:Javaコードで変更する
Javaのコード内で直接ポート番号を設定することも可能です。
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(MyApplication.class);
Map<String, Object> props = new HashMap<>();
props.put("server.port", 8083);
app.setDefaultProperties(props);
app.run(args);
}
}
ただし、この方法は設定ファイルでの管理ができなくなるため、あまりおすすめはしません。
よくある質問(FAQ)
Q. どのポート番号を使ってもいいの?
はい、基本的には0〜65535の範囲で自由に設定できますが、0〜1023は特権ポートと呼ばれており、システムによって使われる可能性が高いため避けましょう。
一般的には、8080, 8081, 8888, 3000などがよく使われています。
実践例:変更前と変更後の比較
状態 | ポート番号 | アクセスURL |
---|---|---|
初期設定 | 8080 | http://localhost:8080 |
変更後 | 8888 | http://localhost:8888 |
アプリを再起動して、新しいポートでアクセスしてみてください!
今後の学習の指針
Spring Bootでは、ポート番号以外にもさまざまな設定が簡単に変更できます。
次に学ぶべき内容としては:
application.properties
での他の設定項目(例:SSL、タイムアウトなど)Spring Profiles
を使った環境別の設定管理- 本番環境と開発環境での設定の切り替え方
こうした設定管理に慣れてくると、より柔軟で安全なアプリ開発ができるようになりますよ!
わからないところがあったら、どんどん質問してくださいね!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
