VPSにSpringAppを置く
VPSにJDKをインストール
インストールできるJavaを探す
$ sudo apt search jdk
(前略)
openjdk-17-jdk/focal-updates,focal-security 17.0.8.1+1~us1-0ubuntu1~20.04 amd64
OpenJDK Development Kit (JDK)
(後略)
JDKをインストールする
$ sudo apt install openjdk-17-jdk
インストール確認
$ java --version
SpringApp = jarファイル
jarファイルの作成
作業場所:springboot project
% cd $PROJECT
% mvn package
$PROJECT/target直下に[xxx-0.0.1-SNAPSHOT.jar]ファイルができる。
jarファイルのサーバ側デプロイ場所
$ mkdir /var/www/spring
[spring]ディレクトリ(名前は任意)を作成してそこに入れる
サーバー内のjarの実行
$ java -jar xxx-0.0.1-SNAPSHOT.jar
ブラウザで確認
http://IPアドレス:8080
URLをたたいて、NOT FOUNDでもなくひたすら読み込みが続く場合、ファイアウォールが邪魔している可能性がある。sshでufw設定とVPSコントロールパネルのパケットフィルターを確認する。
jarの自動起動
serviceファイルの格納場所
nano /etc/systemd/system/xxx.service
serviceファイルの作成内容
[Unit]
Description=demo
[Service]
User=userName
ExecStart=/usr/bin/java -jar /var/www/spring/xxx-0.0.1-SNAPSHOT.jar
[Install]
WantedBy=multi-user.target
serviceファイルの作成内容
# systemctl enable xxx.service
# systemctl start xxx.service
# systemctl daemon-reload
# systemctl status xxx.service
一般ユーザーでなんとかしようと思ったが、パーミッションエラーがどうにもできなくてrootでやったら出来た。