django和nginx - 网址都是一样的

时间:2010-10-26 17:38:09

标签: django url installation nginx fastcgi

现在,任何网址都会显示一个项目默认页面(“欢迎来到django”)。

无论我放什么(example.com,example.com / hello,example.com / asdfjkasdf(& $(#$ $#)

我是django的新手,正在学习一个简单的教程。

我的nginx.conf有这个:

location / {
                        # host and port to fastcgi server
                        fastcgi_pass 127.0.0.1:8801;
                        fastcgi_param PATH_INFO $fastcgi_script_name;
                        fastcgi_param REQUEST_METHOD $request_method;
                        fastcgi_param QUERY_STRING $query_string;
                        fastcgi_param SERVER_NAME $server_name;
                        fastcgi_param SERVER_PORT $server_port;
                        fastcgi_param SERVER_PROTOCOL $server_protocol;
                        fastcgi_param CONTENT_TYPE $content_type;
                        fastcgi_param CONTENT_LENGTH $content_length;
                        fastcgi_pass_header Authorization;
                        fastcgi_intercept_errors off;
}

我的网站文件存储在/var/www/firstsite/

我的views.py有这个:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello world")

我的urls.py有这个:

from django.conf.urls.defaults import *
from firstsite.views import hello
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
        ('^hello/$', hello),
    # Example:
    # (r'^firstsite/', include('firstsite.foo.urls')),

    # Uncomment the admin/doc line below and add 'django.contrib.admindocs'
    # to INSTALLED_APPS to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # (r'^admin/', include(admin.site.urls)),
)

我是否需要在每次更改时重新启动fcgi实例(我不这么认为)。我一直在使用:python manage.py runfcgi method="thread" host=127.0.0.1 port=8080

所以是的,我怎样才能让网址正常工作?有没有办法用django调试?例如,可能打印出它收到的数据以确保nginx的行为正确吗?

1 个答案:

答案 0 :(得分:0)

首先尝试使用FastCGI设置Django。按照actual tutorial,使用内置开发服务器。一旦掌握了基本框架的工作原理,就可以了解如何部署它。

为什么你会说你不会认为每次更改都需要重启实例?这正是what you need to do