Jak sprawić, by serwer deweloperski z django działał na stałe? Tak, że nie przestaje, kiedy opuszczam powłokę.Django runserver permanent
Dzięki
Jak sprawić, by serwer deweloperski z django działał na stałe? Tak, że nie przestaje, kiedy opuszczam powłokę.Django runserver permanent
Dzięki
Jeśli jesteś na Linux/Unix użyj polecenia "nohup".
nohup manage.py runserver &
Potem ją odzyskać, należy użyć polecenia fg:
fg
dzięki: Xiong Chiamiov
Aby ją odzyskać, użyj polecenia fg. –
To nie pozwoli ci wyjść z powłoki podczas pracy. Dobrze? –
@Adam N. Będziesz mógł wyjść z powłoki, nohup jest dla "bez zawieszenia", to będzie kontynuował pracę po opuszczeniu powłoki. – MikeN
inny łatwy sposób, aby to zrobić, to uruchomić:
[[email protected]]$screen
[[email protected]]$python manage.py runserver 0.0.0.0:8000
Teraz naciśnij Ctrl+A
, a następnie naciśnij d
, aby wyjść z tego ekranu.
Spowoduje to utworzenie serwera na ekranie, a następnie jego odłączenie. W ten sposób możesz po prostu wrócić i wpisać:
[[email protected]]$screen -r
. Możesz ponownie przejąć kontrolę nad serwerem i zobaczyć, co się dzieje.
Czy można się wylogować i wrócić do ekranu? –
@AdamNelson Tak, jeśli nie zakończysz jawnie sesji ekranowej, będzie ona działać nawet po wylogowaniu. – 0sh
Jednym z problemów z tym rozwiązaniem jest to, że uruchomienie serwera uruchamia konsolę serwera i nie można dostarczyć poleceń do terminala, dlatego nie może uruchomić ekranu -d metoda – Freestyle076
utworzyć plik z tym przykładem /tmp/screendjango:
screen python manage.py runserver
a następnie umieścić:
screen -dmS django -c /tmp/screendjango
dla dołączyć sesji umieścić
screen -d -r django.
Myślę, że to najbardziej skomplikowany sposób korzystania z ekranu, nigdy. –
W systemie Windows uruchom
pythonw.exe manage.py runserver
Zaraz to zrobię. Scenariusz polega na tym, że szybko prototypuję klienta i muszę zobaczyć, jak to wygląda. Nigdy nie będzie więcej niż 2-3 osób na to w czasie, ale nie chcę, aby skonfigurować Apache lub pozostać zalogowany.
sudo ./manage.py runserver 192.168.1.94:80 [run this on port 80 so a normal business user can see it]
ctrl+z [to suspend the job (same thing as appending & to the above command but then I don't need to deal with entering the sudo password on the command line)]
bg %1 [puts the job in the background]
jobs [just to see what's going on]
exit [exit the session]
Jak ekranie użytku Travisa says--. Jeśli go jeszcze nie masz, pobierz go:
sudo apt-get install screen
screen
Naciśnij enter. Teraz jest tak, jakbyś był w innym oknie terminala.
Zacznij wam serwer z:
python manage.py runserver 0.0.0.0:8000
Teraz masz uruchomiony serwer, a chcesz wrócić do pierwszego ekranu podczas pozwalając aplikację django kontynuuj uruchomiony. Ekran ma wbudowaną odpowiednią funkcję.Aby wrócić do głównego terminala:
ctrl+a d
Stamtąd można wrócić do ekranu django wpisując:
screen -r
Jeśli masz kilka ekranów otwarte można dotrzeć do prawidłowego jeden po to 4-5 cyfrowy numer ID:
screen -r 1333
i man są bardzo dobre:
man screen
Jestem bardzo zainteresowany twoim rozwiązaniem. Ponieważ używam CentOS, musiałem użyć 'ekranu instalacji pipl'. Instalacja zakończyła się sukcesem, ale potem wpisuję 'screen' i get -bash: screen: command not found. Jakieś pomysły? Dzięki – Dmitry
@dmitrymar nawet jeśli udało ci się zainstalować ekran, wydaje się, że nie jest on w Twojej PATH. Będziesz chciał dowiedzieć się, gdzie zainstalował go pipl i upewnij się, że katalog, w którym został zainstalowany, znajduje się w PATH. Sprawdź 'echo $ PATH', aby zobaczyć, jaka jest obecna ścieżka. I 'który ekran' sprawdza, czy twoja powłoka widzi gdzieś na ścieżce. – kelorek
on Ubuntu run:>./manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 &
>exit
Mam nadzieję, że nie pytasz o to na serwer produkcyjny. Doprowadzi cię to tylko do złego. – wlashell
Powinieneś mieć otwartą powłokę tylko podczas pracy. To NIE jest przeznaczone do produkcji! – Soviut
A dla beta testerów? – panchicore