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.
daemonizeopcję ustawioną na tak i próbowałem utrzymać swój kontener Docker przy życiu za pomocą programu, -D FOREGROUNDale nie działał i kontener był zamykany. Pozbyłem się tej opcji i zmieniłem daemonizeopcję 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 --daemonizei ta opcja nie jest tak naprawdę potrzebna.
Jak wspomniał @DidierSpezia w swojej odpowiedzi,
Ustawiony daemonize yesw pliku konfiguracyjnym Redis. Ustawiony daemonize yesw pliku konfiguracyjnym Redis na /path/to/redis.confGenerally 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 demonizeflagą
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 &