django + nginx + flup
来源:互联网 发布:随身淘宝乡下小地主 编辑:程序博客网 时间:2024/06/11 15:04
1、安装django,网上有很多例子svn co http://code.djangoproject.com/svn/django/trunk按照readme说明安装django安装好后,写一个例子,然后启动服务:python manage.py runserver 0.0.0.0:8080确认服务能访问例子,要访问的view.pyfrom django.http import HttpResponseimport datetimeimport pdbfrom django.template import Template, Contextfrom alibrowser.util import logimport syslogger = log.loginit()def current_datetime(request): now = datetime.datetime.now() html = "It is now %s." % now logger.info("test1 called") return HttpResponse(html)def person(request): person = {'name': 'Sally', 'age': '43'} t = Template('{{ person.name }} is {{ person.age }} years old.') c = Context({'person': person}) html = t.render(c) logger.error("fucked") return HttpResponse(html)配置urls.pyfrom django.conf.urls.defaults import patterns, include, urlfrom view import current_datetimefrom view import personfrom view import getcookieurlpatterns = patterns('', (r'^now/, current_datetime), (r'^person/,person), (r'^getcookie/,getcookie),)2、安装nginx(需要先安装pcre)http://www.nginx.org/download/nginx-1.0.9.tar.gz安装后,会在/usr/local/nginx/下生成几个目录测试nginx是否workcd /usr/local/nginx/sbin/nginxps -ef | grep nginx 可以查看到nginx服务已起来,默认配置是server是80端口然后,访问一下,可以看到Welcome to nginx!说明nginx启动成功3、这个时候,通过python manage.py runfcgi method=threaded host=0.0.0.0 port=8051 会提示flup 需要安装安装flup,http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz4、这个时候,要通过nginx来访问django,需要修改nginx的配置cd /usr/local/nginx/conf/修改nginx.conf文件如下:将location 默认的根路径映射换掉,随便写一个(改成访问/html时默认访问nginx的默认index.html页面)location /html { root html; index index.html index.htm; }然后增加一个映射location / { # 指定 fastcgi 的主机和端口 fastcgi_pass 127.0.0.1:8051; 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_param SERVER_PROTOCOL $server_protocol; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_pass_header Authorization; fastcgi_intercept_errors off; }然后,启动在django的项目下,执行python manage.py runfcgi method=threaded host=0.0.0.0 port=8051然后在运行 sbin/nginx 通过浏览器访问http://10.249.194.51/person/就显示django程序显示的 Sally is 43 years old. DONE