我正在尝试将 systemd 配置为能够执行同一服务的多个实例,但似乎我做错了什么,并且文档资源似乎不太清楚。
\n\n已创建/lib/systemd/system/confluence@.service文件包含以下内容:
[Unit]\nDescription=Confluence %i\nAfter=postgresql.service nginx.service\n\n[Service]\nType=forking\nExecStart=/opt/atlassian/confluence-%i/bin/start-confluence.sh\nExecStartPre=/opt/atlassian/confluence-%i/bin/setenv.sh prestart\n\nExecStop=/opt/atlassian/confluence-%i/bin/stop-confluence.sh\n\nTimeoutStopSec=5min\nPIDFile=/opt/atlassian/confluence-%i/work/catalina.pid\n\n[Install]\nWantedBy=multi-user.target\nRun Code Online (Sandbox Code Playgroud)\n\n到目前为止,一切顺利,systemctl enable confluence.test报告的成功(是的,/opt/atlassian/confluence-test/“恰好”包含了它所需要的内容。
不过,当我尝试使用启动服务时systemctl start confluence我得到:
root@atlas:/lib/systemd/system# systemctl start confluence@test.service\nJob for confluence@test.service failed. See "systemctl status confluence@test.service" and "journalctl -xe" for details.\nroot@atlas:/lib/systemd/system# systemctl status confluence@test.service\n\xe2\x97\x8f confluence@test.service - Confluence test\n Loaded: loaded (/lib/systemd/system/confluence@.service; enabled; vendor preset: enabled)\n Active: failed (Result: exit-code) since Fri 2015-10-09 13:25:28 BST; 7s ago\n Process: 16352 ExecStartPre=/opt/atlassian/confluence-%i/bin/setenv.sh prestart (code=exited, status=203/EXEC)\n\nOct 09 13:25:28 atlas systemd[1]: Starting Confluence test...\nOct 09 13:25:28 atlas systemd[1]: confluence@test.service: control process exited, code=exited status=203\nOct 09 13:25:28 atlas systemd[1]: Failed to start Confluence test.\nOct 09 13:25:28 atlas systemd[1]: Unit confluence@test.service entered failed state.\nOct 09 13:25:28 atlas systemd[1]: confluence@test.service failed.\nRun Code Online (Sandbox Code Playgroud)\n\n不知何故,systemd 似乎没有扩展应该是实例名称的“%i”。
\nThi*_*vel -1
您不能为每个实例使用单独的启动/停止脚本。
我会建议ExecStart=/opt/atlassian/confluence/bin/start-confluence.sh
每次调用时都会启动一个新实例。
同样适用于ExecStartPre和ExecStop
| 归档时间: |
|
| 查看次数: |
7604 次 |
| 最近记录: |