2016-11-19 1 views
-1

VMから2番目のDjango Webサイトをホストする方法を知りたいと思っています。私は明らかな間違いをした。VirtualHostを設定して2番目のWebサイトを実行し、<VirtualHost *:8080>、「Listen」エラー

現在のところ、いずれかのサイトが<VirtualHost *:80>に設定されています。私はthis answerから、<VirtualHost *:8080>に第2のウェブサイトを指定すべきであることを知った。私はListenを使用しようとすると、私はapache2.serviceが失敗したためにApacheに

ジョブを再ロードしようとすると、しかし、私は以下のエラーを取得します。詳細については、 'systemctl status apache2.service' と 'journalctl -xn'を参照してください。

  • 誰が間違っているかもしれないものを理解していますか?

  • なぜですか<VirtualHost *:80>ではなく<VirtualHost *:8080>ではありませんか?

  • Listenを指定すると、なぜエラーが発生しますか?

私はDebian 8.5、Apache 2.4.10、mod-wsgi 4.3.0-1を使用しています。

Listen 80 
<VirtualHost *:80> 

ServerName myserver.scss.tcd.ie/bias_experiment/ 

Alias /bias_experiment/static/ /var/www/bias_experiment/static/ 
<Directory /var/www/bias_experiment/static> 
Order deny,allow 
Allow from all 
</Directory> 

WSGIScriptAlias /bias_experiment /var/www/bias_experiment/src/bias_experiment/index.wsgi 
<Directory /var/www/bias_experiment/src/bias_experiment> 
<Files index.wsgi> 
Order deny,allow 
Allow from all 
</Files> 
</Directory> 

</VirtualHost> 


Listen 8080 
<VirtualHost *:8080> 

ServerName myserver.scss.tcd.ie/bias_experiment_two/ 

Alias /bias_experiment_two/static/ /var/www/bias_experiment_two/static/ 
<Directory /var/www/bias_experiment_two/static> 
Order deny,allow 
Allow from all 
</Directory> 

WSGIScriptAlias /bias_experiment_two /var/www/bias_experiment_two/src/bias_experiment/index.wsgi 
<Directory /var/www/bias_experiment_two/src/bias_experiment> 
<Files index.wsgi> 
Order deny,allow 
Allow from all 
</Files> 
</Directory> 

</VirtualHost> 

何か助けはいつも大変ありがとうございます。

+0

この手順に沿って、何が間違っているか確認しましたか?それは何と言ったのですか? –

答えて

2

ServerNameをそのまま設定することはできません。 ServerNameディレクティブはホスト名でなければなりません。それ以外の名前の仮想ホストは、VirtualHostの定義が複数ある場合は動作しません。何も処理されない唯一の理由は、名前ベースの仮想ホストが正しく設定されていないか、ホスト名が一致しないと、設定が読み込まれたときに最初に見つかったVirtualHostに要求を送信するからです。同じホスト名でアクセスしたい場合は、VirtualHostにすべてを入れてください。異なるポートを使用することもできますが、利便性は低くなります。

<VirtualHost *:80> 

ServerName myserver.scss.tcd.ie 

WSGIDaemonProcess bias_experiment 

Alias /bias_experiment/static/ /var/www/bias_experiment/static/ 
<Directory /var/www/bias_experiment/static> 
Order deny,allow 
Allow from all 
</Directory> 

WSGIScriptAlias /bias_experiment /var/www/bias_experiment/src/bias_experiment/index.wsgi \ 
    process-group=bias_experiment application-group=%{GLOBAL} 

<Directory /var/www/bias_experiment/src/bias_experiment> 
<Files index.wsgi> 
Order deny,allow 
Allow from all 
</Files> 
</Directory> 

WSGIDaemonProcess bias_experiment_two 

Alias /bias_experiment_two/static/ /var/www/bias_experiment_two/static/ 
<Directory /var/www/bias_experiment_two/static> 
Order deny,allow 
Allow from all 
</Directory> 

WSGIScriptAlias /bias_experiment_two /var/www/bias_experiment_two/src/bias_experiment/index.wsgi \ 
    process-group=bias_experiment_two application-group=%{GLOBAL} 

<Directory /var/www/bias_experiment_two/src/bias_experiment> 
<Files index.wsgi> 
Order deny,allow 
Allow from all 
</Files> 
</Directory> 

</VirtualHost> 

WSGIアプリケーションを別々に保つために、2つの別々のデーモンプロセスグループが宣言され、各WSGIアプリケーションが異なるプロセスグループに委任されます。これらは、Djangoのサイトであれば、あなたはおそらくあなたが行う必要があります追加のセットアップの変更を持っています

2つのWSGIアプリケーションは、その後のようにアクセスできます。 Django設定ファイルを使用して、両方を同じホスト名で実行し、互いに干渉しないようにします。

+0

グラハムに感謝します。私はsettings.pyファイルのパス、SITE_IDなどのすべてを更新しました。ヒントとWSGIDaemonProcessesで正しく実行する方法を教えてくれてありがとうございました。私は参照してください)し、これらを試してみてください。もう一度ありがとう – Deepend

+1

私が考えている重要なものは '' SESSION_COOKIE_PATH''です。 https://docs.djangoproject.com/en/1.10/ref/settings/#session-cookie-path –

+0

ありがとう、私は今すぐ追加しました。私は実際にこれについて全く知らなかった。 – Deepend

関連する問題