설정을 바꾸다

설정을 바꾸다

우분투 서버 14.04를 사용하고 있습니다. 수정 /etc/init.d/gearman-job-server하고 입력한 후:

# sudo service gearman-job-server restart

내가 수정한 내용은 무시됩니다. 하지만 다음을 입력합니다.

# /etc/init.d/gearman-job-server restart

모든 것이 정상입니다. 이 스크립트는 현재 Ubuntu 14.04 어딘가에 캐시되어 있습니까?

답변1

수신 주소를 변경하려고 시도하면서 Ubuntu 15.10에서 비슷한 문제가 발생한 후 레거시 init 스크립트가 무시되고 systemd 구성이 127.0.0.1에서만 수신하도록 하드코딩되어 있음을 발견했습니다.

해결 방법은 systemd 구성을 수정하고 다시 로드한 다음 서비스를 다시 시작하는 것입니다.

설정을 바꾸다

구성은 직접 수정하거나 오버레이 파일을 통해 수정할 수 있습니다.

직접 수정하여

systemd 서비스 구성은 에 있습니다 /lib/systemd/system/gearman-job-server.service. 이 파일을 편집하고 필요한 매개변수를 포함하도록 ExecStart 줄을 변경합니다.

통과하다파일 덮어쓰기

파일을 만듭니다 /etc/systemd/system/gearman-job-server.service.d/gearman-job-server.conf.

ExecStart 명령을 재정의하려면 다음 구성을 파일에 배치합니다.

[Service]
ExecStart=
ExecStart=/usr/sbin/gearmand --pid-file=/run/gearman/server.pid --log-file=/var/log/gearman-job-server/gearman.log

ExecStart=원래 명령줄을 삭제하려면 빈 줄이 필요합니다. 이것이 없으면 시스템은 원본과 사용자 정의를 실행하려고 시도합니다.

구성 다시 로드

systemd가 서비스 구성을 다시 로드하도록 다음 명령을 실행합니다.

/bin/systemctl daemon-reload

서비스 다시 시작

service gearman-job-server restart

답변2

Ubuntu 12.04 및 Ubuntu 14.04를 사용하는 경우 sudo serviceinit 스크립트는 먼저 (upstart)에서 찾은 /etc/init다음 에서 찾으 /etc/init.d므로 이 스크립트를 먼저 찾습니다.

/etc/init/gearman-job-server.conf

그런 다음

/etc/init.d/gearman-job-server

그런데, gearman-job-server.conf에도 버그가 있습니다.여기.

관련 정보