【发布时间】:2018-04-16 17:53:49
【问题描述】:
我有两个独特的域(例如 domain1.com 和 domain2.com)。我正在尝试使用 Flask 在一个 linode 服务器(例如12.34.567.890)上托管两个独特的网页(通过两个单独的烧瓶应用程序)。
目前,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
etc\apache2\sites-available\000-default.conf:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
etc\apache2\sites-available\FlaskApp.conf:
<VirtualHost *:80>
ServerName domain1.com
ServerAdmin admin@email.com
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 admin@email.com
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
对不起,如果我有点冗长,但任何指导都会有所帮助!
【问题讨论】:
标签: python apache flask dns virtualhost