我有一個在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. Python/Django運行開發服務器
- 3. 運行Django服務器(Python 3.4)
- 4. 在AWS服務器上運行腳本
- 5. 在Django框架中使用python運行服務器的錯誤
- 6. 在運行Django的服務器
- 7. 從Django在服務器上運行Java
- 8. 在Django服務器上運行的python腳本
- 9. 在Windows中運行Python Web服務器作爲服務
- 10. 在後臺運行python服務器
- 11. 在服務器上運行python文件
- 12. 在服務器上運行Python腳本?
- 13. 在Windows服務器上運行API - Python
- 14. 在服務器上運行Python代碼
- 15. django運行服務器錯誤與mysql
- 16. Django-運行服務器上的Staticfiles 404
- 17. 運行Django服務器問題
- 18. 使用SSH隧道使Django服務器認爲它在AWS內運行?
- 19. 如何在個人運行服務器上運行Django項目
- 20. Bitnami Django服務器(AWS)/libcrypto.so.1.0.0錯誤
- 21. 在運行服務器期間在Django中編譯proto文件
- 22. 在Windows服務中運行python文件
- 23. Django會話在本地服務器上工作,但不在AWS服務器上
- 24. 如何保持python服務器運行
- 25. 運行python的Web服務器。
- 26. python manage.py運行服務器返回ImportError
- 27. CLOUD9:運行一個python服務器
- 28. 運行Python文件Linux服務器上
- 29. Python:從inetd運行WSGI服務器?
- 30. Python運行服務器錯誤
你需要使用像Apache或Nginx的服務器[Django部署(https://docs.djangoproject.com/en/1.11/howto/deployment/)。這對Stack Overflow來說太寬泛了。 – Alasdair