忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

fedora15になってサービス管理がガラッとかわり、/etc/init.d/の下の起動スクリプトではなく、systemctlコマンドでサービスの操作を行うようになった。
今回、jettyをサービスとしてfedoraに登録した際に手間取ったので、ここにメモしておく。
使用したjettyのバージョンは、jetty-hightide-8.1.3.v20120416

まず、fedora15になってサービスに関する情報は、/lib/systemd/system 配下に集められた。
サービスを登録する場合、今までどおり起動スクリプトを/etc/init.d配下に置き、chkconfig --addで登録することも可能だが、せっかくだからsystemdの作法に従って登録したい。
そのためには、以下のような設定ファイルを書かなければいけない。

【jetty.service】
[Unit]
Description=Jetty Application Containar

[Service]
Type=simple
EnvironmentFile=-/opt/jetty/etc/jetty-env
PIDFile=/var/run/jetty.pid
User=jetty
Group=jetty
ExecStart=/usr/bin/java $RUN_ARGS

StandardOutput=null

[Install]
WantedBy=multi-user.target

そのうえで、systemctl --system daemon-reload をすれば完了。


上の設定ファイルで、EnvironmentFileにより環境変数を定義したファイルを読み込んでいるが、環境変数はExecStartでの定義にのみ使えるようだ。
User、Groupで使ってみたら、エラーになった。

なおsystemdの設定ファイルに関する情報はまだまだ少なく、結局man systemd.serviceと既存の設定ファイルが一番役に立った。



PR
COMMENT
name
title
text
color   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
mail
URL
pass
secret
PREV ←  HOME  → NEXT
Copyright (C) 2017 技ブロ All Rights Reserved.
Photo by 戦場に猫 Template Design by kaie
忍者ブログ [PR]