apache - 在生产中无法访问 Flask-Admin 页面

标签 apache flask wsgi flask-admin

我正在尝试在 Ubuntu 服务器上使用 Apache 和 mod_wsgi 部署我的 Flask 应用程序。

对于我已经实现的 Restful 请求,它似乎工作正常,但我无法访问我的 Flask-Admin 页面(我可以在开发中访问)。

这是我的应用程序的结构(针对此问题进行了简化):

- MyApp/
    - main.py
    - myapp/
        - __init__.py
        - Views.py
        - files/
    - wsgi/
        myapp.wsgi

在开发中,我只是使用 python main.py 运行,一切正常。

这是 wsgi 文件:
import sys
import os

##Virtualenv Settings
activate_this = '/var/www/code/MyApp/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

##Replace the standard out
sys.stdout = sys.stderr

##Add this file path to sys.path in order to import settings
sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)), '../..'))

##Add this file path to sys.path in order to import app
sys.path.append('/var/www/code/MyApp/')

from myapp import app as application

这是 Apache 的配置文件,我使用的是 Apache 2.2:
<VirtualHost *:443>
        WSGIScriptAlias /myapp /var/www/code/MyApp/wsgi/myapp.wsgi
        WSGIScriptReloading On
        WSGIPassAuthorization On

        SSLEngine on
        SSLCertificateFile /var/www/code/MyApp/ssl.crt
        SSLCertificateKeyFile /var/www/code/MyApp/ssl.key
        SSLVerifyClient None
        SSLOptions +StdEnvVars

        <Directory /var/www/code/MyApp/wsgi>
                Order deny,allow
                Allow from all
        </Directory>

</VirtualHost>

以下是我在 __ init __.py 中实例化 Flask 应用程序的方法:
app = Flask(__name__, static_folder='files')

以下是我在 main.py 中创建管理界面的方法:
# Create admin
admin = admin.Admin(app, 'App Administration')

我的 Views.py 中还有一个指向管理页面的链接:
@app.route('/')
def index():
    return '<a href="/admin/">Go to admin page</a>'

在开发过程中,我可以通过 mysite.com/admin/访问管理界面。

在生产中,我在 mysite.com/myapp/上有我的应用程序,但我无法访问我希望在 mysite.com/myapp/admin/上的管理界面。

我认为我实例化flask-admin的方式有问题。我保留了默认的“admin/”网址,但也许我需要在生产时声明一个特定的网址?

谢谢你的帮助。

编辑:

我检查了 Apache 错误日志,但没有收到任何错误。

最佳答案

您是否尝试使用“myapp”更新您的路线?看起来您需要更新生产路线。甚至可以在生产中删除“/”。尝试一下。

@app.route('/')
@app.route('/myapp/')
def index():

关于apache - 在生产中无法访问 Flask-Admin 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26585050/

相关文章:

python - 使用 mod_wsgi 部署 Flask 应用程序

apache - 使用 8081 端口将 Apache 代理到 Geoserver 8080 以实现 WFS

python - mod_wsgi守护进程模式,WSGIApplicationGroup与Python解释器分离

php - Apache 权限,PHP 文件创建,MKDir 失败

python - uwsgi : why two processes are loaded per each app?

python - 热重载 gevent WSGIServer

python - 在 WSGI 容器中使用扭曲的词

java - 在 Java Apache 中相同的请求超时,在 postman 中工作正常

java - 如何在Spring Controller 路由中渲染html文件?

python - 如何使用gunicorn 和多处理进行日志记录?