概要
Cantaloupe Image Serverは以下のコマンドで実行できます。
java -Dcantaloupe.config=cantaloupe.properties -Xmx2g -jar cantaloupe-5.0.5.jar
しかしこの方法では、ssh接続が切れた場合など、Cantaloupeサーバが止まってしまいます。
そこで、サービスとして実行する方法を紹介します。
方法
- サービスファイルの作成 :
/etc/systemd/system/ディレクトリにサービスファイル(例えば、cantaloupe.service)をsudo権限で作成します。
[Unit]
Description=Cantaloupe Image Server
[Service]
User=ubuntu
# 以下のパスは適宜修正してください
WorkingDirectory=/home/ubuntu/cantaloupe-5.0.5
ExecStart=/usr/bin/java -Dcantaloupe.config=cantaloupe.properties -Xmx2g -jar cantaloupe-5.0.5.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
このファイルでは、ExecStartに実行するJavaコマンドを指定します。また、UserとWorkingDirectoryは適切に設定する必要があります。
- サービスのリロード : 変更を適用するために、次のコマンドでsystemdをリロードします。
sudo systemctl daemon-reload
- サービスの開始 : 以下のコマンドでサービスを開始します。
sudo systemctl start cantaloupe
- サービスの有効化 : システム起動時にサービスが自動的に起動するようにするには、以下のコマンドを実行します。
sudo systemctl enable cantaloupe
- サービスの状態確認 : サービスの状態を確認するには、次のコマンドを使用します。
sudo systemctl status cantaloupe
注意: この例では、Javaのパスやcantaloupeのインストールパスは適宜修正する必要があります。また、Userはcantaloupeを実行するユーザーに置き換えてください。サービスファイルの詳細設定については、systemdのドキュメントを参照してください。
まとめ
以下のようにサービスとして起動していることを確認できます。参考になりましたら幸いです。
sudo systemctl status cantaloupe
● cantaloupe.service - Cantaloupe Image Server
Loaded: loaded (/etc/systemd/system/cantaloupe.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2023-11-16 03:52:24 UTC; 6min ago
Main PID: 33204 (java)
Tasks: 31 (limit: 4667)
Memory: 116.2M
CPU: 4.408s
CGroup: /system.slice/cantaloupe.service
└─33204 /usr/bin/java -Dcantaloupe.config=cantaloupe.properties -Xmx2g -jar cantaloupe-5.0.5.jar