Webエクスプローラで唯一のIPまたはサーバ名でリクエストを発行した後、apacheはデフォルトの静的ホームページをエクスプローラに返します。 mod_wsgiでdjangoとapacheを使用してサイトを展開しています(つまり、Apache Webサーバーにdjangoアプリケーション)。 view.pyで定義されたdjangoマッピングルールに処理をルーティングして、Apacheを実行しているサーバーにリクエストを発行したときにそのサイトのホームページ(インデックスページ)を動的に生成する方法前もって感謝します!djangoがApacheの代わりにデフォルトのホームページをレンダリングする方法
私は、メインのApacheの 'httpd.confの' で、次の構成を追加しました:myapp.wsgiに
<VirtualHost 127.0.0.1:80>
ServerName 127.0.0.1
ServerAlias example.com
ServerAdmin [email protected]
DocumentRoot /usr/local/www/documents
Alias /robots.txt /usr/local/www/documents/robots.txt
Alias /favicon.ico /usr/local/www/documents/favicon.ico
Alias /media/ /usr/local/www/documents/media/
<Directory /usr/local/www/documents>
Require all granted
</Directory>
WSGIDaemonProcess 127.0.0.1 processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup 127.0.0.1
WSGIScriptAlias//usr/local/www/wsgi-scripts/myapp.wsgi
<Directory /usr/local/www/wsgi-scripts>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
コード:
def application(environ, start_response):
status = '200 OK'
output = b'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
をその後、私は127.0.0.1を発行し、エクスプローラで「表示それは動作します! '、これはapacheによって生成されるデフォルトのページですが、代わりに' Hello world! 'この場合返されます。私はちょうどIPアドレスまたはサイトアドレスを発行したばかりのときに、デフォルトホームページを生成する作業がdjangoに直接委譲され、Apacheによって静的index.htmlを返すのではなく、動的に処理することを望みます。私はWSGIScriptAlias//usr/local/www/wsgi-scripts/myapp.wsgi
を設定しましたが、これはまだ動作していないようです。
いいえ、*知られていません。特に指定しない限り、「デフォルトの静的なホームページ」は表示されません。どのようにmod_wsgiを最初に設定しましたか? –
@DanielRosemanが尋ねるように、使用している設定を指定します。 WSGIScriptAlias/some/path/to/wsgi.py'と適切な他の設定を追加して適切な場所でそのリソースにアクセスできるようにすると、WSGIアプリケーションはサイトのルートに対する要求を引き継ぐはずです。そうでない場合は、仮想ホスト構成を掘り下げてしまった可能性があります。 –
@GrahamDumpleton設定と必要な情報が提供されています。 –