Ubuntu22 – Systemdユニットファイルを作成してアプリサーバーを永続化!

外部サービスで提供されていたアプリサーバーをUbuntu上で永続化させたかったので、
実際に永続化させてみました。

サーバーにアクセスして手動でアプリサーバーを立ち上げるとサーバーから抜け出せなくなってしまうので、systemdユニットを活用して永続化させたいと思います。

それでは早速やっていきましょう。

アプリサーバーを永続化させるOS情報

 

初めにUnitファイルを作成します。

この階層にUnitファイルを作成します。

※[name]とある部分はアプリ名やプロジェクト名など分かりやすいものに変更して作成してください。

Unitファイルの中身はこのような感じです。

それぞれのセクションについて説明をしていきます。

Unitセクション

ユニットの説明や依存関係を設定します。
Afterディレクティブは、指定したターゲットやユニットが起動した後に
このユニットを起動することを示しています。

Serviceセクション

サービスの設定を行います。
ExecStartディレクティブには実行するコマンドや実行可能ファイルパスを指定します。
Restartディレクティブはサービスが異常終了した場合に自動的に再起動するように設定します。

Installセクション

サービスのインストール設定を指定します。
WantedByディレクティブはこのユニットがどのターゲットに関連付けられるかを指定します。

Unitファイルのパーミッションを変更

適当なパーミッションに変更します。

Unitファイルを有効化

作成したUnitファイルをsystemdに認識させます。

これで先ほど作成したUnitファイルが有効になりました。
下記コマンドで一通りサービスの確認・実行が行えるようになります。

※[ユニットファイル名]とある箇所は”.service”の部分は無しで実行できます。

最後に

以上でアプリサーバーの永続化が出来上がりました。
こうしてみると意外と簡単にアプリサーバーを永続化できるものですね。

今回は外部サービスから提供されていたものを永続化させただけですので、永続化後は特にアプリ側の設定やミドルウェアの設定などは入れていません。

NodeJSなどのアプリサーバーを永続化させる場合は別途Nginx等の設定が必要になりますので、ご注意ください。

タイトルとURLをコピーしました