我问这个问题因为我是初学者而且我已经阅读了近90%的关于Django的文章,但问题是: Django已经制作并且部署有问题,它是python,而python不是PHP! 在阅读Django教程时,初学者遇到了大问题,因为他可以找到一个“过时”的教程,例如,如果你参加2008年制作的教程,你会看到他们说的如下:
部署django,使用apache,别忘了使用其他服务器 对于静态文件,例如nginx作为反向代理!
但是现在,我发现一些文章说制作第二台服务器是没用的,因为在过去,Django是使用mod_python服务的,它使用了大量的资源!所以这是我的问题:
更新:添加(4)关于Django和异步。
答案 0 :(得分:6)
1 - 哪一个最适合VPS,Apache或Nginx,使用最新版本 发布当然!请不要说:使用lighty或cherokee ......
要么工作正常。
2 - 如果答案是:使用ngnix,那么,是否更好 使用一个或两个服务器,就像过去最好做两个 网络服务器?
正在提出的关键点是Django / Python不应该为您的静态资源提供服务。 “两台服务器”可以是不同的物理服务器,实例或虚拟服务器。这是一个配置nginx直接提供静态文件然后将动态请求传递给Python的示例:
来自https://code.djangoproject.com/wiki/DjangoAndNginx:
server {
listen 80;
server_name localhost;
location /site_media {
root /media/; # Notice this is the /media folder that we create above
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
access_log off;
expires 30d;
}
location / {
# host and port to fastcgi server
fastcgi_pass 127.0.0.1:8080;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
}
3 - 当我检查了我的大脑时,我发现只有很少的免费 空间可用,所以我不想学习别的东西,所以你认为 一个100%的pythonic解决方案可以吗? CherryPy是完美的 解决方案,意思是,CherryPy + Django和basta!没有Apache,没有Nginx,没有 学习比python语言更多!
IMO,设置Apache或nginx非常简单,并且有很多资源。你不需要非常了解它们来设置简单的东西。