在Apache2上设置Wordpress和Flask

时间:2014-12-02 22:30:55

标签: python wordpress flask apache2

我正在学习烧瓶并获得“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测试页面。

  1. Flask和Wordpress应该在不同的端口吗?
  2. 我如何配置apache2以允许我通过flask.example.com“访问flask”?
  3. 我读过我可能需要调整主机文件。这是真的吗?
  4. 我意识到这对你们中的一些人来说可能是一个明显的解决方法。不过,我是一个新手而且被卡住了。任何和所有的帮助表示赞赏。

    由于

2 个答案:

答案 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>