Systemd: redis를 다시 시작한 후 슈퍼바이저를 시작합니다.

나는 슈퍼바이저를 사용하여 시스템이 시작될 때 웹 응용 프로그램을 실행합니다. 그 중 한 응용 프로그램은 Redis를 사용하기 때문에 먼저 Redis를 시작해야 합니다.
supervisor는 시작 의존성을 지원하는 좋은 방법이 없지만 시스템d는 이 점을 지원합니다.

층계


0, Redis 시작 프로필을 만듭니다. 예를 들어 6379.conf, daemonizeno로 설정되었는지 확인하십시오.
1. Redis systemd 파일 만들기redis.service:
[Unit]
Description=Redis
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /home/redis/6379.conf
ExecStop=kill -s HUP $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target
2. 이 파일을 다음 경로로 복사합니다.
cp redis.service /lib/systemd/system/
3. systemd를 사용하여 redis를 시작합니다.
systemctl start redis
4. 시스템이 시작될 때 start redis를 설정합니다.
systemctl enable redis
서비스 파일 컨텐트를 변경한 경우 다시 로드해야 합니다.
systemctl daemon-reload
5. 폴더/etc/systemd/system/multi-user.target.wants로 이동하여 supervisor.service 섹션에서 [Unit]을 찾아 행을 추가합니다.
Requires=redis.service
다 끝났어.현재, 시스템을 다시 시작할 때, Redis는 슈퍼visor 이전에 시작하기 때문에, 프로그램이 슈퍼visor에서 시작되면, 지금은 안전하게 Redis에 연결할 수 있습니다.

좋은 웹페이지 즐겨찾기