nodejs 앱에서 세션 지원을 위해 redis를 사용하고 있습니다. redis 서버를 설치했고 redis-server를 실행하면 작동하지만 터미널을 닫으면 redis가 중지되고 작동하지 않습니다. 터미널을 닫은 후에도 Redis 서버를 계속 실행하려면 어떻게해야합니까?
답변:
Redis를 데몬으로 시작하는 가장 쉬운 방법은 구성 파일을 편집하고 다음 줄을 변경하는 것입니다.
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes
실행할 때 redis-server 명령 줄에 구성 파일을 제공해야합니다.
구성 파일의 예는 Redis 배포에 제공됩니다.
daemonize
yes로 설정 옵션을하고 살아 그 도커 컨테이너를 유지하기 위해 노력했다 -D FOREGROUND
그러나 그것은 작동하지 않는 용기는 종료되었다. 이 옵션을 제거하고 daemonize
옵션을 다시 no로 변경 했는데 작동했고 컨테이너가 살아 있습니다.
그리고 빠른 옵션을 원하면 다음을 실행하십시오 redis-server --daemonize yes
..
redis-server &
될까요?
&
마지막에 실행 하면 터미널을 종료하면 서버 프로세스가 종료됩니다. stackoverflow.com/a/15595391/6263317
nohup redis-server &
vs 사용 은 redis-server --daemonize
어떻습니까? 내 말은, 사용하지 않고 동일한 기능을 얻을 수있는 방법이 --daemonize
있고 그 옵션은 실제로 필요하지 않은 것 같습니다.
@DidierSpezia가 그의 답변에서 언급했듯이,
daemonize yes
Redis conf 파일에서 설정 합니다. 세트daemonize yes
에서 레디 스의 conf 파일에 /path/to/redis.conf
일반적으로는에가 있어야한다 /etc/
.
그리고 :
그런 다음 conf 파일을 인수로 사용하여 redis-server를 트리거합니다.
./redis-server /etc/redis.conf
업데이트demonize
플래그를 사용
하여 redis를 직접 실행할 수도 있습니다.
redis-server --daemonize yes
Linux에서는 Windows에 대해 잘 모르겠습니다 .nohup을 사용하여 백그라운드에서 redis를 실행하십시오 .nohup을 사용하여 백그라운드에서 redis를 실행하려면
nohup ./redis-server &