Używam redis do obsługi sesji w aplikacji nodejs. Mam zainstalowany serwer redis i działa, gdy uruchamiam redis-server, ale po zamknięciu terminala redis zatrzymuje się i nie działa. Jak utrzymać działający serwer redis po zamknięciu terminala?
Odpowiedzi:
Najłatwiejszym sposobem uruchomienia Redis jako demona jest edycja pliku konfiguracyjnego i zmiana następującego wiersza:
# 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
Pamiętaj, aby podczas uruchamiania podać plik konfiguracyjny w wierszu poleceń redis-server.
Przykład pliku konfiguracyjnego znajduje się w dystrybucji Redis.
daemonize
opcję ustawioną na tak i próbowałem utrzymać swój kontener Docker przy życiu za pomocą programu, -D FOREGROUND
ale nie działał i kontener był zamykany. Pozbyłem się tej opcji i zmieniłem daemonize
opcję z powrotem na nie i zadziałało, pojemnik jest utrzymywany przy życiu.
A jeśli chciałbym szybkiej opcji uruchom: redis-server --daemonize yes
.
redis-server &
?
&
na końcu, po wyjściu z terminala proces serwera zostałby zabity. stackoverflow.com/a/15595391/6263317
nohup redis-server &
vs redis-server --daemonize
? Chodzi mi o to, że wydaje się, że istnieje sposób na osiągnięcie tej samej funkcjonalności bez użycia --daemonize
i ta opcja nie jest tak naprawdę potrzebna.
Jak wspomniał @DidierSpezia w swojej odpowiedzi,
Ustawiony daemonize yes
w pliku konfiguracyjnym Redis. Ustawiony daemonize yes
w pliku konfiguracyjnym Redis na /path/to/redis.conf
Generally powinien tam być pod adresem /etc/
.
I :
Następnie uruchom redis-server z plikiem conf jako argumentem:
./redis-server /etc/redis.conf
AKTUALIZACJA
Możesz również bezpośrednio uruchomić redis z demonize
flagą
redis-server --daemonize yes
W Linuksie nie jestem pewien co do systemu Windows Użyj nohup, aby uruchomić redis w tle.Aby uruchomić redis w tle za pomocą nohup
nohup ./redis-server &