1

localhost:3033で基本的な「hello-world」Django Webサイト(によって作成された)に表示されるように、DjangoでLighttpdを構成したいと思います$ django-admin startproject hellodjangoドキュメントに従いましたが、Webサイトを機能させることができません。localhost:3033に移動した後は何も起こらず、「conncetionを待っています」というメッセージだけが表示されます。

私のlighttpd.config

server.groupname            = "www-data"

index-file.names            = ( "index.php", "index.html",
                                "index.htm", "default.htm",
                               " index.lighttpd.html" )

url.access-deny             = ( "~", ".inc" )

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

## Use ipv6 if available
#include_shell "/usr/share/lighttpd/use-ipv6.pl"

dir-listing.encoding        = "utf-8"
server.dir-listing          = "enable"

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/x-javascript", "text/css", "text/html", "text/plain" )

include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"


# My configuration
$HTTP["host"] == "www.hellodjango.com" {

    server.document-root = "/home/krris/programowanie/django/hellodjango"
    server.errorlog = "/home/krris/programowanie/django/hellodjango/logs/error.log"
    accesslog.filename = "/home/krris/programowanie/django/hellodjango/logs/access.log"
    fastcgi.server = (
        "/hellodjango.fcgi" => (
            "main" => (
                # Use host / port instead of socket for TCP fastcgi
                "host" => "127.0.0.1",
                "port" => 3033,
                # "socket" => "/home/krris/hellodjango.sock",
                "check-local" => "disable",
            )
        ),
    )
    alias.url = (
        "/media/" => "/home/krris/programowanie/django/hellodjango/media/",
    )

    url.rewrite-once = (
        "^(/media.*)$" => "$1",
        "^/favicon\.ico$" => "/media/favicon.ico",
        "^(/.*)$" => "/hellodjango.fcgi$1",
    )
}

hellodjango.fcgi

#!/usr/bin/python
import sys, os

# Add a custom Python path.
sys.path.insert(0, "..")

# Switch to the directory of your project. (Optional.)
os.chdir("/home/krris/programowanie/django/hellodjango")

# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "hellodjango.settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="prefork", daemonize="true", host="127.0.0.1", port="3033")

この行もsettings.pyに追加しました:

FORCE_SCRIPT_NAME = ""

次のコマンドを使用してアプリケーションを実行します。

$ ./manage.py runfcgi method=prefork host=127.0.0.1 port=3033

エラーログ:

2013-03-19 11:27:10: (log.c.166) server started 
2013-03-19 11:27:16: (server.c.1396) [note] graceful shutdown started 
2013-03-19 11:27:16: (log.c.166) server started 
2013-03-19 11:27:16: (server.c.1512) server stopped by UID = 0 PID = 8093

Ubuntu12.10を使用しています。

4

2 に答える 2

0

サーバーが何らかの理由で停止しています。デバッグするための可能な方法は、ここでdaemonize="false"を設定することです。

runfastcgi(method = "prefork"、daemonize = "true"、host = "127.0.0.1"、port = "3033")

これは、何が起こっているのか、サーバーがシャットダウンする理由を確認するのに役立ちます。

于 2013-03-19T12:05:21.210 に答える
0

私はあなたが今やったことをやろうとしました。この作業を行うために私が見つけたもう1つのこと(私は思う)は、次のことを確認することです。

  • .fcgi ファイルには、誰でも実行できる権限があります。
  • log フォルダにも権限が必要です。

私が見ているのは、プロジェクト フォルダーのファイル リスト ビューです。これはあなたが得るものですか?また、www.helloDjango.com の URL 経由では機能しません。

同じ結果が得られた場合はお知らせください。また、基本的な Hello World ページを作成するのが非常に難しく、混乱を招くこともわかっています。

于 2013-04-24T09:01:05.423 に答える