我目前正在使用屏幕并做
sudo python manage.py runserver 0.0.0.0:80
然后关闭终端。似乎有点像黑客。正确的方法是什么?
我目前正在使用屏幕并做
sudo python manage.py runserver 0.0.0.0:80
然后关闭终端。似乎有点像黑客。正确的方法是什么?
runserver 是一个开发服务器。您不应该在生产中使用它,如https://docs.djangoproject.com/en/1.4/ref/django-admin/#runserver-port-or-address-port中所述:
请勿在生产环境中使用此服务器。它没有经过安全审计或性能测试。(这就是它会一直存在的方式。我们的业务是制作 Web 框架,而不是 Web 服务器,因此改进此服务器以使其能够处理生产环境超出了 Django 的范围。)
您应该使用https://docs.djangoproject.com/en/1.4/howto/deployment/中给出的方法之一在生产中部署 Django 项目。我已经将 mod_wsgi 与 Apache 一起使用,gunicorn 与 nginx 一起使用 - 精确的解决方案取决于您和您的项目的要求,但 Django 手册的部署部分包含各种选项。
这真的不是一个好主意。不应在本地开发机器之外使用内置的开发服务器。查看文档:
请勿在生产环境中使用此服务器。它没有经过安全审计或性能测试。(这就是它会一直存在的方式。我们的业务是制作 Web 框架,而不是 Web 服务器,因此改进此服务器以使其能够处理生产环境超出了 Django 的范围。)
相反,您应该设置 nginx+gunicorn/uwsgi 或只是 apache+mod_wsgi。
如果您的 ec2 实例完全无法与外界进行所有可能的通信(这不太可能),您可以使用该screen
命令