서비스 시작 요청이 너무 빠르게 반복되어 시작이 거부됩니다.

서비스 시작 요청이 너무 빠르게 반복되어 시작이 거부됩니다.

Debian 8.6에서 서비스를 생성했는데 service 명령을 사용하여 서비스를 시작하려고 하면 오류가 발생합니다.

나는 이것을 시도했지만 systemctl daemon-reload여전히 같은 결과를 얻습니다.

$ sudo service cloud9 start
$ sudo service cloud9 status
● cloud9.service - cloud9
   Loaded: loaded (/etc/systemd/system/cloud9.service; enabled)
   Active: failed (Result: start-limit) since Thu 2016-10-13 07:21:02 UTC; 2s ago
  Process: 2610 ExecStart=/opt/bitnami/nodejs/bin/node /home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin (code=exited, status=216/GROUP)
 Main PID: 2610 (code=exited, status=216/GROUP)

Oct 13 07:21:02 test-vm systemd[1]: cloud9.service: main process exited, code=exited, status=216/GROUP
Oct 13 07:21:02 test-vm systemd[1]: Unit cloud9.service entered failed state.
Oct 13 07:21:02 test-vm systemd[1]: cloud9.service holdoff time over, scheduling restart.
Oct 13 07:21:02 test-vm systemd[1]: Stopping cloud9...
Oct 13 07:21:02 test-vm systemd[1]: Starting cloud9...
Oct 13 07:21:02 test-vm systemd[1]: cloud9.service start request repeated too quickly, refusing to start.
Oct 13 07:21:02 test-vm systemd[1]: Failed to start cloud9.
Oct 13 07:21:02 test-vm systemd[1]: Unit cloud9.service entered failed state.

구성은 다음 위치에 있습니다 /etc/systemd/system/cloud9.service.

[Unit]
Description=cloud9

[Service]
ExecStart=/opt/bitnami/nodejs/bin/node /home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin
Restart=always
User=nobody
Group=nobody
Environment=PATH=/bin:/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/home/user/c9sdk

[Install]
WantedBy=multi-user.target

답변1

2610 ExecStart=/opt/bitnami/nodejs/bin/node /home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin (코드=종료, 상태=216/GROUP )
10월 13일 07:21:02 test-vm systemd[1]: cloud9.service: 기본 프로세스가 종료됨, 코드=종료, 상태=216/GROUP

...문제를 설명합니다. 귀하의 그룹은 nobody시스템에서 유효한 그룹이 아닙니다. 유효한 그룹을 지정하세요.

환경=PATH=/bin:/usr/bin:/usr/local/bin

이는 필요하지 않을 수도 있습니다.

-w /홈/사용자 -l 0.0.0.0

더 나은 세상에서, 여기의 cloud9 서비스 프로그램은 청취 소켓을 열린 파일 설명자로 수신하고 해당 작업 디렉터리를 상속합니다(아이러니하게도가지다장치의 다른 곳에 명시적으로 설정됨)

추가 읽기

답변2

다시 시작 매개변수를 제거하고 유효한 사용자/그룹을 추가하면 문제를 해결하는 데 도움이 되었습니다.

[Unit]
Description=cloud9

[Service]
ExecStart=/opt/bitnami/nodejs/bin/node /home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin
User=user
Group=group
Environment=PATH=/bin:/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/home/user/c9sdk

[Install]
WantedBy=multi-user.target

답변3

User= 설정을 사용하는 경우 그룹을 설정할 필요가 없습니다(사용자의 기본 그룹으로 설정되므로).

DynamicUser=yes는 서비스 환경에만 존재하는 존재하지 않는 사용자로 서비스를 실행하는 none user(systemd.exec(8)) 대신 실제 계정을 사용하는 대신(대신 시스템 사용자를 생성하는) 제안일 수 있습니다. ).

관련 정보