2017-11-03 11 views
0

私は2つのユニークなドメインを持っています(例えばdomain1.comdomain2.com)。私は、Flaskを使用して、1つのLinodeサーバー(例えば、12.34.567.890)に2つの独自のWebページ(2つの別々のフラスコアプリケーション経由)をホストしようとしています。ユニークなドメイン用に複数のFlaskアプリケーションをホスト

現在、domain1.comが動作しますが、domain2.comは私にApache2のデフォルトページを提供します。ここで

は、私がこれまで持っているものです。

など\ apache2の\ ports.conf:

Listen 80 
Listen 8080 

<IfModule ssl_module> 
    Listen 443 
</IfModule> 

<IfModule mod_gnutls.c> 
    Listen 443 
</IfModule> 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet 


など\ apache2の\サイトで入手可能な000-は、default.conf \:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

<VirtualHost *:8080> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 


など\ apache2 \ sites-available \ FlaskApp.conf:

<VirtualHost *:80> 
      ServerName domain1.com 
      ServerAdmin [email protected] 
      WSGIScriptAlias//var/www/AppOne/flaskapp.wsgi 
      <Directory /var/www/AppOne/FlaskApp/> 
        Order allow,deny 
        Allow from all 
      </Directory> 
      Alias /static /var/www/AppOne/FlaskApp/static 
      <Directory /var/www/AppOne/FlaskApp/static/> 
        Order allow,deny 
        Allow from all 
      </Directory> 
      ErrorLog ${APACHE_LOG_DIR}/error.log 
      LogLevel warn 
      CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

<VirtualHost *:8080> 
      ServerName domain2.com 
      ServerAdmin [email protected] 
      WSGIScriptAlias//var/www/AppTwo/flaskapp.wsgi 
      <Directory /var/www/AppTwo/FlaskApp/> 
        Order allow,deny 
        Allow from all 
      </Directory> 
      Alias /static /var/www/AppTwo/FlaskApp/static 
      <Directory /var/www/AppTwo/FlaskApp/static/> 
        Order allow,deny 
        Allow from all 
      </Directory> 
      ErrorLog ${APACHE_LOG_DIR}/error.log 
      LogLevel warn 
      CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 
0123各アプリケーションのための


__init__.pyは同じ(ただし、別のディレクトリに)ある:

from flask import Flask, render_template, flash, request, url_for, redirect, session 
from content_management import Content 
#...etc... 
import gc 

TOPIC_DICT = Content() 

app = Flask(__name__) 

@app.route('/') 
def homepage(): 
    return render_template("home.html") 

if __name__ == "__main__": 
    app.run() 


\するvar \ WWW \ディレクトリは次のようになります。私は少し冗長になった場合

\var\www 
| 
└─── AppOne 
| | flaskapp.wsgi 
| | 
| └─── FlaskApp 
|   | __init__.py 
|   | 
|   └─── static 
|   └─── templates 
|   |  home.html 
|   | 
|   └─── venv 
| 
└─── AppTwo     #same as AppOne 
    | flaskapp.wsgi 
    | 
    └─── FlaskApp 
      | __init__.py 
      | 
      └─── static 
      └─── templates 
      |  home.html 
      | 
      └─── venv 

申し訳ありませんどんな指導が助けになるでしょう!

答えて

0

ポート8080でリッスンする必要はありません.AppTwoのWSGIファイルが正しいディレクトリを指していませんでした。

ports.conf:

Listen 80 

<IfModule ssl_module> 
    Listen 443 
</IfModule> 

<IfModule mod_gnutls.c> 
    Listen 443 
</IfModule> 


000-は、default.conf:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 


FlaskApp.conf:

<VirtualHost *:80> 
     ServerName domain1.com 
     ServerAdmin [email protected] 
     WSGIScriptAlias//var/www/AppOne/flaskapp.wsgi 
     <Directory /var/www/AppOne/FlaskApp/> 
       Order allow,deny 
       Allow from all 
     </Directory> 
     Alias /static /var/www/AppOne/FlaskApp/static 
     <Directory /var/www/AppOne/FlaskApp/static/> 
       Order allow,deny 
       Allow from all 
     </Directory> 
     ErrorLog ${APACHE_LOG_DIR}/error.log 
     LogLevel warn 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

<VirtualHost *:80> 
     ServerName domain2.com 
     ServerAdmin [email protected] 
     WSGIScriptAlias//var/www/AppTwo/flaskapp.wsgi 
     <Directory /var/www/AppTwo/FlaskApp/> 
       Order allow,deny 
       Allow from all 
     </Directory> 
     Alias /static /var/www/AppTwo/FlaskApp/static 
     <Directory /var/www/AppTwo/FlaskApp/static/> 
       Order allow,deny 
       Allow from all 
     </Directory> 
     ErrorLog ${APACHE_LOG_DIR}/error.log 
     LogLevel warn 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 


AppOne/flaskapp.wsgi:

import sys 
import logging 
logging.basicConfig(stream=sys.stderr) 
sys.path.insert(0,"/var/www/AppOne/") 

from FlaskApp import app as application 
application.secret_key = 'PasswordGoesHere' 


appTwoは/ flaskapp.wsgi:

import sys 
import logging 
logging.basicConfig(stream=sys.stderr) 
sys.path.insert(0,"/var/www/AppTwo/") 

from FlaskApp import app as application 
application.secret_key = 'PasswordGoesHere' 
関連する問題