🦔
Cantaloupe: サービスとして実行する
概要
Cantaloupe Image Serverは以下のコマンドで実行できます。
java -Dcantaloupe.config=cantaloupe.properties -Xmx2g -jar cantaloupe-5.0.5.jar
しかしこの方法では、ssh接続が切れた場合など、Cantaloupeサーバが止まってしまいます。
そこで、サービスとして実行する方法を紹介します。
方法
-
サービスファイルの作成:
/etc/systemd/system/
ディレクトリにサービスファイル(例えば、cantaloupe.service
)をsudo
権限で作成します。/etc/systemd/system/cantaloupe.service[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
Discussion