我有一個在AWS Ubuntu機器上運行的django。通過SSH,我在8000端口啓動服務器。但是,當我關閉SSH窗口,服務器停止,我無法通過URL訪問它。我想要的是一旦啓動它就一直運行服務器。如何去做呢?謝謝。在AWS中運行Django Python服務器
3
A
回答
3
您可以使用Apache或Nginx來部署Django應用程序。如果您打算使用Nginx,請首先在服務器中安裝Nginx,然後將Django配置添加到Nginx配置中。你可以按照這個good guide。
1
你可以這樣做:hacky的方式:創建一個bash腳本來執行應用程序(只需運行與執行相同的命令來運行它),然後使用nohup運行bash腳本,從而將進程從shell中分離出來,允許應用程序時,您關閉會話繼續運行:
nohup ./my_bash_script.sh &
如果你想要做正確,創建服務文件並執行應用程序的服務。您可以創建這樣一個簡單的服務文件:
[Unit]
Description=My Django app
After=network.target
[Service]
PIDFile=/run/DjangoApp/pid
User=<your user>
Group=<your group>
WorkingDirectory=<working directory of your Django app>
ExecStart=<path to your bash script>
PrivateTmp=True
[Install]
WantedBy=multi-user.target
保存/etc/systemd/system/djangoService.service
下的文件。啓用此命令的服務:
sudo systemctl enable djangoService
而與此命令來運行它:
sudo service start djangoService
這將保持業務正常運行。但請記住,要服務適當的Django應用程序,您可能需要使用Gunicorn/wsgi來爲響應提供服務,並使用Nginx來反向代理請求。
1
在開發模式下,Django有一個開發服務器,它足以用於測試目的。一旦你完成一個Web應用程序並準備好進行生產,在服務器上設置應用程序的過程對於某些人來說可能是壓倒性的,特別是如果你第一次這樣做的話。本文提供了關於如何使用mod_wsgi部署基於Django的Web應用程序的分步指南。
你可以按照這篇文章來設置Apache服務器的mod_wsgi。 enter link description here
如果您正在爲開發進行設置,那麼您需要以守護進程模式運行服務器。
在Ubuntu
run:>./manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 &
>exit
相關問題
- 1. 在aws lambda中運行tika服務器
- 2. 在Django框架中使用python運行服務器的錯誤
- 3. 從Django在服務器上運行Java
- 4. 在運行Django的服務器
- 5. 在Windows中運行Python Web服務器作爲服務
- 6. 在服務器上運行Python腳本?
- 7. 在服務器上運行Python代碼
- 8. 在服務器上運行python文件
- 9. 運行Django服務器問題
- 10. Django-運行服務器上的Staticfiles 404
- 11. django運行服務器錯誤與mysql
- 12. 如何在個人運行服務器上運行Django項目
- 13. 使用SSH隧道使Django服務器認爲它在AWS內運行?
- 14. 在運行服務器期間在Django中編譯proto文件
- 15. 運行python的Web服務器。
- 16. Python:從inetd運行WSGI服務器?
- 17. Python運行服務器錯誤
- 18. 在Electron中運行/停止Django開發服務器
- 19. Django:使用sudo在虛擬環境中運行服務器
- 20. 當django服務器運行時每運行一個代碼
- 21. 我無法在瀏覽器中運行我的AWS/EC2服務器
- 22. 在Django中運行Angular SPA
- 23. 錯誤運行軌道服務器,服務器已經運行
- 24. 計劃任務python與IDLE(python GUI)運行Windows服務器2012
- 25. 在Rails3中運行proxi服務器
- 26. 在Phing中運行php服務器
- 27. 在IIS中運行JasperReports服務器
- 28. Mongod服務器在運行中退出
- 29. 在Cocoa中運行Socket服務器
- 30. 如何在我的互聯網服務器上運行python(django)應用程序?
你需要使用像Apache或Nginx的服務器[Django部署(https://docs.djangoproject.com/en/1.11/howto/deployment/)。這對Stack Overflow來說太寬泛了。 – Alasdair