JavaアプリケーションサーバであるPayaraを、CentOS7上で自動起動するために、systemdに登録しました。
正規の登録方法が分からなかったため、payara.serviceファイルを作成し手動で登録しています。
.serviceファイルの書き方も分からなかったので、調べつつトライアンドエラーです。
/usr/lib/systemd/system/payara.service
[Unit]
Description=payara server
After=syslog.target network.target remote-fs.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=PAYARA_HOME/bin/asadmin start-domain domain1
ExecReload=PAYARA_HOME/bin/asadmin restart-domain domain1
ExecStop=PAYARA_HOME/bin/asadmin stop-domain domain1
TimeoutStartSec=300
TimeoutStopSec=30
User=payara
Group=payara
[Install]
WantedBy=multi-user.target
PAYARA_HOME domain1 はそれぞれ適宜読み替え
Type=simple に設定すると、二重起動のようになってしまうため、Type=oneshot としています。
起動後status
[root@localhost home]# systemctl status payara
payara.service - payara server
Loaded: loaded (/usr/lib/systemd/system/payara.service; enabled)
Active: active (exited) since Mon 2015-09-28 11:19:48 JST; 20min ago
Process: 830 ExecStart=PAYARA_HOME/bin/asadmin start-domain domain1 (code=exited, status=0/SUCCESS)
Main PID: 830 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/payara.service
└─1985 JAVA_HOME/bin/java -cp PAYARA_HOME/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOptions -XX:NewRatio=2 -...
Sep 28 11:19:15 localhost.localdomain systemd[1]: Starting payara server...
Sep 28 11:19:47 localhost.localdomain asadmin[830]: Waiting for domain1 to start .............................
Sep 28 11:19:47 localhost.localdomain asadmin[830]: Successfully started the domain : domain1
Sep 28 11:19:47 localhost.localdomain asadmin[830]: domain Location: PAYARA_HOME/glassfish/domains/domain1
Sep 28 11:19:47 localhost.localdomain asadmin[830]: Log File: PAYARA_HOME/glassfish/domains/domain1/logs/server.log
Sep 28 11:19:47 localhost.localdomain asadmin[830]: Admin Port: 4848
Sep 28 11:19:47 localhost.localdomain asadmin[830]: Command start-domain executed successfully.
Sep 28 11:19:48 localhost.localdomain systemd[1]: Started payara server.
参考