Abd*_*hab 23 python apache deployment django
我问的是这个问题因为我是初学者而且我已经阅读了近90%的关于Django的文章,但问题是:Django已经制作并且部署有问题,它是python,而python不是PHP!在阅读Django教程时,初学者遇到了大问题,因为他可以找到一个"过时"的教程,例如,如果你参加2008年制作的教程,你会看到他们说的如下:
部署django,使用apache,并且不要忘记使用另一个服务器来获取静态文件,例如nginx作为反向代理!
但现在,我发现一些文章说制作第二台服务器是没用的,因为在过去,Django是使用mod_python服务的,它使用了大量的资源!所以这是我的问题:
更新:添加(4)关于Django和异步.
1 - 哪一个最适合VPS,Apache或Nginx,当然使用最新版本!请不要说:使用lighty或切诺基...
两者都可以正常工作.
2 - 如果答案是:使用ngnix,那么,使用一个或两个服务器是否更好,因为过去最好制作两个Web服务器?
正在提出的关键点是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;
}
}
Run Code Online (Sandbox Code Playgroud)
3 - 当我检查我的大脑时,我发现只有很少的自由空间可用,所以我不想学习别的东西,所以你认为100%pythonic解决方案会好吗?CherryPy是一个完美的解决方案,意思是,CherryPy + Django和basta!没有Apache,没有Nginx,没有比python语言更多的学习!
IMO,设置Apache或nginx非常简单,并且有很多资源.您不需要非常了解它们来设置简单的东西.