我有一个在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