QtWebApp을 사용하여 자체 서버를 작성했습니다.
이제 systemd를 사용하여 Ubuntu 15.10 부팅에서 이 서버를 시작하고 싶습니다.
이 서비스 파일을 만들었습니다.
[Unit]
Description=This service maintains a landports server...
After=syslog.target
Wants=network-online.target
After=network.target network-online.target
[Service]
Type=forking
ExecStart=~/LandportsServer
Restart=on-abort
[Install]
WantedBy=multi-user.target
내가 달릴 때sudo systemctl start landports
시스템 출력systemd Loaded: error (Reason: Invalid argument)
서비스 파일을 다음으로 변경했습니다.
[Unit]
Description=This service maintains a landports server...
[Service]
Type=forking
ExecStart= /home/wbmanager/LandportsServer
[Install]
WantedBy=multi-user.target
하지만 내가 달릴 때sudo systemctl start landports
아무 일도 일어나지 않고 출력도 표시되지 않습니다. 브라우저를 사용하여 서버에 연결하려고 하면 연결이 실패하여 서버가 실행되지 않습니다.
이전에 이것을 실행하여 서버를 테스트했습니다.SSH효과가있다. 하지만 서비스로 실행할 수는 없습니다.
시스템 출력을 기다린 후:
Jan 04 22:57:25 yassermyweb LandportsServer[4902]: Pattern handler and tokens: HttpRequestHandler(0x1018790) ("recent", ":portID")
Jan 04 22:57:25 yassermyweb LandportsServer[4902]: added pattern for path: recent/:portID
Jan 04 22:57:25 yassermyweb LandportsServer[4902]: RootHandler 0xffe820: registering handlers...
Jan 04 22:57:25 yassermyweb LandportsServer[4902]: Pattern handler and tokens: HttpRequestHandler(0x10183a0) ("")
Jan 04 22:57:25 yassermyweb LandportsServer[4902]: added pattern for path:
Jan 04 22:57:25 yassermyweb LandportsServer[4902]: HttpListener: Listening on port 0
Jan 04 22:58:55 yassermyweb systemd[1]: landports.service: Start operation timed out. Terminating.
Jan 04 22:58:55 yassermyweb systemd[1]: Failed to start This service maintains a landports server from the point the system is started until it is shut down again..
Jan 04 22:58:55 yassermyweb systemd[1]: landports.service: Unit entered failed state.
Jan 04 22:58:55 yassermyweb systemd[1]: landports.service: Failed with result
'timeout'.
알아채다줄은 다음으로 시작합니다.모드 핸들러 및 토큰: HttpRequestHandler(0x1018790)("최근", ":portID")
mu=y 서버의 출력입니다.
답변1
문제는 ExecStart=~/LandportsServer
. 대신 절대 경로를 사용하세요. systemd에서는 어떤 홈 디렉토리를 사용해야 합니까? 루트로 실행됩니다.
Type=forking
또 다른 문제는 서비스를 로 변경 Type=simple
(또는 해당 행을 주석 처리) 한 것일 수 있습니다 .