Spring Bootで作ったアプリをVPSで動かしたときのメモ
Spring Bootで作った個人で使うアプリをVPSで動かそうとしたときの個人メモ。
Spring Bootのドキュメントに書いてあるのをなぞっただけです。
55. Installing Spring Boot applications
Fully Executable Applicationの作成
最近の (自分が使っているのは1.3.1.RELEASE) Spring Bootでは、init.d向け起動スクリプトやsystemd .serviceファイルのExecStartで指定できるスクリプトも兼ねたjar( Fully Executable Application )を生成することができる。
maven で spring-boot-maven-plugin を使っている場合はpomに次のように記述すると、mvn package
でFully Executable Applicationを生成できる。(mavenなのは、仕事で自分の関わるJavaプロジェクトでmavenをつかうことが多いから。gradleのプラグインもある)
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin>
systemdの設定
ドキュメントの通りなので省略。
.confで起動スクリプトのカスタマイズ
ログファイルのパスを指定したり、環境毎に読み込む設定ファイルを変えたい場合はどうすんの、という場合は、.confファイルを用意する。.confファイルは、jarファイルのディレクトリにjarファイルの拡張子を.confに置き換えた名前で設置するルール。例えば、jarファイルが/var/sample-app/sample-app.jar
だったら、/var/sample-app/sample-app.conf
といった具合になる。
自分の場合はこんなかんじ。
export SPRING_PROFILES_ACTIVE=production export LOG_FOLDER=/var/sample-app/logs
他にも、JVMに渡すオプションやらアプリケーションに直接渡す引数もここで指定すればよろしい。
以上、もうちょい細かく設定すべきことはある気がするが、意外と手数が少なくアプリをVPSで動かすことができた。Spring Boot、ドキュメントがしっかり整備されているのがありがたい。