我正在尝试配置systemd以执行多个相同服务的实例,但似乎我做错了什么,文档资源也不太清楚。
创建了/lib/systemd/system/confluence@.service
文件,内容如下:
[Unit]
Description=Confluence %i
After=postgresql.service nginx.service
[Service]
Type=forking
ExecStart=/opt/atlassian/confluence-%i/bin/start-confluence.sh
ExecStartPre=/opt/atlassian/confluence-%i/bin/setenv.sh prestart
ExecStop=/opt/atlassian/confluence-%i/bin/stop-confluence.sh
TimeoutStopSec=5min
PIDFile=/opt/atlassian/confluence-%i/work/catalina.pid
[Install]
WantedBy=multi-user.target
目前为止,情况很好,systemctl enable confluence.test
报告成功(是的,/opt/atlassian/confluence-test/中包含所需内容)。
但是,当我尝试使用 systemctl start confluence
启动服务时,我得到以下错误:
root@atlas:/lib/systemd/system# systemctl start confluence@test.service
Job for confluence@test.service failed. See "systemctl status confluence@test.service" and "journalctl -xe" for details.
root@atlas:/lib/systemd/system# systemctl status confluence@test.service
● confluence@test.service - Confluence test
Loaded: loaded (/lib/systemd/system/confluence@.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2015-10-09 13:25:28 BST; 7s ago
Process: 16352 ExecStartPre=/opt/atlassian/confluence-%i/bin/setenv.sh prestart (code=exited, status=203/EXEC)
Oct 09 13:25:28 atlas systemd[1]: Starting Confluence test...
Oct 09 13:25:28 atlas systemd[1]: confluence@test.service: control process exited, code=exited status=203
Oct 09 13:25:28 atlas systemd[1]: Failed to start Confluence test.
Oct 09 13:25:28 atlas systemd[1]: Unit confluence@test.service entered failed state.
Oct 09 13:25:28 atlas systemd[1]: confluence@test.service failed.
一些情况下,systemd似乎无法扩展"%i",而这本应该是实例名称。
ExecStart=/opt/atlassian/confluence/bin/start-confluence.sh %i
。 - Thirupathi Thangavel