-1

Linuxでapache2とmod_wsgiを使用してpyhton djangoプロジェクトを実行しようとしています。

Pythonコードを実行していないようです。Web サイトの URL (サーバー上の mysite.com) をブラウザーに入力すると、ページは想定されているテンプレート ファイルを読み込みますが、python は通常のテキストとして表示され、静的ファイルも読み込まれません。

mod_wsgi が有効になっているかどうかを確認するために、ターミナルに a2enmod と入力すると、モジュール wsgi が既に有効になっていると表示されます。また、これは開発サーバーで正常に動作する既存のプロジェクトでした。

https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/のチュートリアルに従っていた ため、プロジェクトの開始時に以下のコードを httpd.conf ファイルに追加しました。

<IfModule wsgi_module>
WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
WSGIPythonPath /var/www/mysite

Alias /static/ /var/www/mysite/signup/static/signup

<Directory /var/www/mysite/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

<Directory /var/www/mysite/mysite/template>
DirectoryIndex integrate.html
Options Indexes FollowSymLinks

</Directory>


WSGIDaemonProcess mysite.com python-path=/var/www/mysite:/usr/local/lib/python2.7/dist-packages
WSGIProcessGroup mysite.com
</IfModule>
4

2 に答える 2

1

間違っていることの 1 つは、次のことです。

Alias /static/ /var/www/mysite/signup/static/signup

次のようにする必要があります。

Alias /static /var/www/mysite/signup/static/signup

また:

Alias /static/ /var/www/mysite/signup/static/signup/

サブ URL の場合、末尾のスラッシュの使用はバランスを取る必要があります。つまり、両方に表示されるか、両方に表示されません。

ディレクトリ '/var/www/mysite/signup/static' の Directory ブロックも欠落しており、そのディレクトリ内のファイルにアクセスできることを Apache に伝えます。

私が理解していないのは、「サインアップ」サブディレクトリにマッピングしているのになぜですか。「静的」ディレクトリだけにマッピングしないのはなぜですか? あなたもそこに何かおかしなことがあるかもしれません。

最後に、Python のソース コードを表示している場合、Django サイトを DocumentRoot の下に置いたように思えますが、これはまったく間違っており、上記は使用されていません。しかし、あなたがそれをうまく説明していないので、問題が何であるかは完全には明らかではありません. 実際に Django のドキュメントに従っていないことは役に立ちません。ドキュメントをもう一度読むことをお勧めします。

于 2013-06-11T22:10:47.737 に答える