所以我一直在为另一个部门的Badgr服务器工作。我用Python 2.7和django构建了它。据我所知,Django仅用于开发网站。
我想接受这个项目并将其转换为针对生产环境运行的东西。但我真的不知道如何继续。很抱歉,如果这是一个真正的noob问题,我是系统管理员,而不是开发人员。
(env)[root @ badgr code]#。/ manage.py runserver& 执行系统检查......
系统检查发现没有问题(0静音)。 2016年8月8日 - 16:31:48 Django 1.7.1版,使用设置'mainsite.settings' 在##### // 127.0.0.1:8000/启动开发服务器 使用CONTROL-C退出服务器。
但是当我去##### // myserver:8000时,我似乎无法连接到它,
我知道来自我的电脑的流量正在袭击服务器,因为我在TCP 8000上的tcpdump中看到它。我被告知runserver阻止来自外部源的流量,因为它仅用于开发。
与某些人交谈后,他们建议我切换到Apache或Gunicorn?
以下是我从Django文档发送的一些说明:https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/虽然我不能真正做出我应该做的事情的正面或反面。任何输入将不胜感激。感谢
答案 0 :(得分:0)
首先,您应该真正使用"长期支持" Django的版本,而不是1.7.1。目前的LTS版本是1.8.14;有关详细信息,请参阅https://www.djangoproject.com/download/。
您获得的Django文档链接只是您需要了解的部分内容。一个更好的起点实际上是该页面上的第一个链接,即https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/modwsgi/。
答案 1 :(得分:0)
我建议您使用gunicorn和Nginx在生产服务器上运行Django项目。两者都很容易谷歌官方文档和食谱,他们的组合是最快的,只要你的代码不要慢。 (Nginx + uWSGI是另一个不错的选择,但对初学者来说有点困难)。
Gunicorn可以使用pip install unicorn
安装,也可以像安装Django一样安装,然后使用简单的gunicorn yourproject.wsgi
启动(有关更多配置选项,请参阅文档)。
Nginx(使用您的发行版的软件包管理器进行安装)应该配置为反向代理模式,并且还要提供来自相应静态/媒体根目录的静态/媒体文件(必须使用manage.py collectstatic
来保持静态文件-至今)。阅读文档以了解基本原则并使用此功能,但/etc/nginx/sites-enabled/yoursite.conf
:
server {
listen 80 default;
server_name example.com;
root /path/to/project/root/static;
location /media {
alias /path/to/project/root/media;
}
location /static {
alias /path/to/project/root/static;
}
location /favicon.ico {
alias /path/to/project/root/static/favicon.ico;
}
location / {
proxy_pass http://localhost:8000;
include proxy_params;
}
}
如果您需要ssl或www / non-www重定向(强烈建议设置),还有更多内容,但这个示例应该足以让您开始使用。
要自动运行gunicorn,您可以使用主管或系统单元系统(无论是系统还是其他系统)。
注意:所有这些都假设您使用的是Linux。无论如何,您可能不应该在生产服务器上使用任何其他东西。
如果您觉得无法理解如何处理这一切,请考虑获得一些专业帮助,有很多自由职业系统管理员会很乐意以合理的费用帮助您。