我正在学习烧瓶并获得“hello world”教程,因为我能够从互联网上访问它。然后我安装了wordpress,很快就知道我的当前配置无法从example.com访问这些内容。现在,我只能访问wordpress。我尝试将烧瓶更换为www.example.com/flask/,但无法访问测试页。
我对flask和apache2的配置文件如下:
应用程式:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def homepage():
return "Flask works?"
if __name__ == "__main__":
app.run()
CONF:
#Listen 80
ServerName www.example.com
<VirtualHost *:80>
ServerAdmin webmaster@localhost
#ServerName example.com
WSGIDaemonProcess flask user=www-data group=www-data threads=5 python-path=/var/www/FlaskApp
WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
<Directory "/var/www/FlaskApp/">
WSGIProcessGroup flaskapp
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
WSGI:
#! /usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, "/var/www/FlaskApp/")
from FlaskApp import app as application
application.secret_key = "secretstuff"
然后我安装了WordPress并意识到他们都在80端口。结果,我无法访问我的Flask测试页面。
我意识到这对你们中的一些人来说可能是一个明显的解决方法。不过,我是一个新手而且被卡住了。任何和所有的帮助表示赞赏。
由于
答案 0 :(得分:1)
除了我纠正的代码中的几个错误(没有正确指出),主要问题是改变
app.run()
到
app.run(host='0.0.0.0')
不知道这是否安全?
答案 1 :(得分:0)
使用Apache Name-based。在$ python
Python 2.7.11 (default, Jan 22 2016, 08:29:18)
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import Xyz
None
:
/etc/apache2/sites-available
:
flaskapp.conf
<VirtualHost *:80>
ServerName flaskapp.yoursite.com
WSGIDaemonProcess flaskapp user=wilson group=wilson threads=5
WSGIScriptAlias / /path/to/flaskapp.wsgi
<Directory /path/to/flaskapp/>
WSGIProcessGroup flaskapp
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
</VirtualHost>
:
wordpress.conf
重新加载apache confs:
<VirtualHost *:80>
ServerName blog.yoursite.com
DocumentRoot /path/to/wordpress
<Directory /path/to/wordpress/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>