Come posso rendere permanente il server di sviluppo da django? In modo che non si fermi quando esco dalla shell.Django runserver permanente
Grazie
Come posso rendere permanente il server di sviluppo da django? In modo che non si fermi quando esco dalla shell.Django runserver permanente
Grazie
Se siete su Linux/Unix utilizzare il comando "nohup".
nohup manage.py runserver &
Poi per tornare indietro, utilizzare il comando fg:
fg
Grazie a: Xiong Chiamiov
Quindi per ripristinarlo, utilizzare il comando fg. –
Questo non ti permetterà di uscire dalla shell mentre un lavoro sarà in esecuzione. Destra? –
@Adam N. Sarai in grado di uscire dalla shell, il nohup è per "no hangup", continuerà a eseguire il lavoro dopo aver lasciato la shell. – MikeN
un altro modo semplice per farlo è quello di eseguire:
[[email protected]]$screen
[[email protected]]$python manage.py runserver 0.0.0.0:8000
Ora premere Ctrl+A
e quindi premere d
per uscire da questa schermata.
Ciò crea il server in una schermata e quindi la scollega. In questo modo puoi semplicemente tornare indietro e digitare:
ed è possibile riprendere il controllo del server e vedere cosa sta succedendo.
È possibile disconnettersi e tornare allo schermo? –
@AdamNelson Sì, se non si termina esplicitamente una sessione di schermo, continuerà a essere in esecuzione anche dopo un logout. – 0sh
Un problema con questa soluzione è che l'esecuzione del server avvia la console del server e non è possibile fornire comandi al terminale, quindi non è possibile eseguire lo schermo -d metodo – Freestyle076
creare un file con questo, ad esempio /tmp/screendjango:
screen python manage.py runserver
e poi lo metti:
screen -dmS django -c /tmp/screendjango
per collegare la sessione che si mettono
screen -d -r django.
Penso che sia il modo più complicato per usare lo schermo, mai. –
Su Windows, esegui
pythonw.exe manage.py runserver
Sto per farlo da solo. Lo scenario è che sono un prototipo rapido per un cliente e hanno bisogno di vedere come sono le cose. Non ci sarà mai più di 2-3 persone su questo in un momento, ma io non voglio impostare Apache o rimanere connesso.
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]
Come schermata uso Travis says--. Se non lo hai già installato, vai a ottenerlo:
sudo apt-get install screen
screen
Invio invio. Ora è come se ti trovassi in un'altra finestra di terminale.
Iniziate la server con:
python manage.py runserver 0.0.0.0:8000
Ora si sta eseguendo il server, e ti piacerebbe tornare alla tua prima schermata, mentre lasciando l'applicazione Django continuare l'esecuzione. Lo schermo ha una bella funzionalità integrata per questo.Per tornare al vostro tipo di terminale principale:
ctrl+a d
Da lì, si può tornare alla schermata django digitando:
screen -r
Se si dispone di più schermate aperte si può raggiungere quella corretta da è 4-5 cifre numero ID:
screen -r 1333
E le pagine man sono piuttosto buone:
man screen
Sono molto interessato alla tua soluzione. Dato che sto usando CentOS, ho dovuto usare 'pipl install screen'. L'installazione è stata un successo ma poi ho digitato 'screen' e get -bash: screen: comando non trovato. Qualche idea? Grazie – Dmitry
@dmitrymar anche se potresti aver installato correttamente la schermata, sembra che non ci sia nel tuo PERCORSO. Dovrai capire dove lo ha installato pipl e assicurarti che la directory in cui è stato installato sia nel PERCORSO. Controlla 'echo $ PATH' per vedere qual è il percorso corrente. E 'quale schermo' per verificare che la tua shell lo veda da qualche parte nel percorso. – kelorek
on Ubuntu run:>./manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 &
>exit
Spero che non lo stiate chiedendo per l'uso su un server di produzione. Ti condurrà solo al male se lo sei. – wlashell
Si suppone che la shell sia aperta solo durante lo sviluppo. Questo NON è pensato per la produzione! – Soviut
E per i beta tester? – panchicore