みなさんこんにちは!
イザナギです。
最近はコロナが流行っていて、気軽には外で遊べないですよね。
ものすごく不便!
カフェでゆっくり過ごしたい!
まあ、世間がこの状態ですから仕方がないですね。
みなさんも、気をつけてくださいね。
さて今回は、Webアプリケーションに関する話題です。
皆さんは「Spring Boot」と言われるWebフレームワークをご存知ですか?
Spring Boot 入門 - リファレンスドキュメント
「Spring Boot」を簡単にいうとJavaを用いて、Webアプリケーションを作成できるフレームワークです。
Spring Frameworkが基盤であり、Spring Frameworkを簡単にしたものらしいです。
Spring Framework
そんな、「Spring Boot」を使ってWebアプリを作ってました。
今回はHerokuなどを用いずにサーバーに上げてみよう!
なので、今回は「Spring Boot」で開発したアプリケーションをサーバーに上げて、起動させる方法をまとめてみたいと思います!
Webアプリケーションを作成
Spring BootでWebアプリを作成するには、「STS(Spring Tool Suite)」をダウンロードするのがおすすめです。
こちらのページからダウンロードできます。
Spring Tools 4 is the next generation of Spring tooling
STS(Spring Tool Suite)とは?
STS(Spring Tool Suite)とはSpringの統合開発環境です。
もちろん「Spring Boot」の開発もできます。
以下のページから、「Pleiades プラグイン」をダウンロードすれば日本語化することができます。
Java 開発環境 - Eclipse 日本語化 Pleiades プラグイン
今回はインストール方法は省かせていただきますね。
application.propertiesでポート番号を設定
「application.properties」のファイルに以下の記述をするとポート番号を設定できます。
今回はhttpアクセスできるように「80ポート」にしています。
#ポート番号設定
server.port=80
「80ポート」にしておくと、「http://IPアドレス」でアクセスできるようになり、後ろに「:8080」などをつけなくて済むので便利です!
サーバーを準備
Webアプリケーションを設置するサーバーを用意します。
これはVPSでも自宅サーバーでもどちらでもいいと思います。
ご自身の好きなものを選んでみてください!
OSの種類
今回利用したサーバーOSは「CentOS」になります。
The CentOS Project
一応、conoHaを使っていらっしゃる方でしたら、サーバー作成時に「CentOS」を選択できるようになっています。
ツールをインストール
Webアプリ今回の開発では以下のツールを使用しました。
- Mysql8
- Java8
- Maven
それぞれをCentOSにインストールしておいて準備しておきます。
作成したWebアプリをサーバーにあげる
次に、作成したWebアプリをサーバーに上げていきたいます。
今回は「scp」コマンドを用いてサーバーにアップロードしました。
scp -r ファイル保存元(ローカル) ホスト名@サーバーのIPアドレス:サーバー側の保存先
その後、サーバーにsshログインし、Webアプリのプロジェクト内で
mvn spring-boot:run
を実行するとアプリケーションが起動すると思います。
しかし、この状態ではWebアプリケーションはWeb上には公開されていません。
ちゃんとサーバー側でhttpアクセスできるように設定しておきましょう!
HTTPを許可
サーバー側でHTTP(80ポート)にアクセスできるように許可しましょう!
アクセスを許可するのは、サーバー側で以下のコマンドを打つ必要があります。
firewall-cmd --permanent --zone public --add-service http
上のコマンドでhttpを許可をしています。
その後に設定を反映するために、ファイアウォールをリロードします。
firewall-cmd --reload
これで設定完了です。
以下のコマンドを打って、「service」に「http」が表示されていれば問題ありません。
firewall-cmd --info-zone public
これで、サーバーにブラウザからアクセスできるようになります。
まとめ
いかがでしたでしょうか?
今回はSpring Bootで作成したWebアプリケーションをサーバーで起動し、httpで公開する方法についてまとめてみました。
もし参考になれば幸いです!
それでは今回はここで筆を置かせていただきます!
最後まで記事をご覧いただきありがとうございました!