고유 도메인이 두 개 있습니다 (예 : domain1.com
및 domain2.com
). Flask를 사용하여 하나의 리니어 노드 서버 (예 : 12.34.567.890
)에 두 개의 고유 한 웹 페이지 (두 개의 개별 플라스크 응용 프로그램을 통해)를 호스팅하려고합니다.고유 도메인 용 Flask 앱을 여러 개 호스팅
현재 domain1.com
이 작동하지만 domain2.com
은 나에게 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
등 \ 아파치 \ 사이트-가능 \ 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>
각 응용 프로그램에 대한
__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
죄송합니다 그러나 어떤 지침이 도움이 될 것입니다!