【问题标题】:using flask virtualenv on remote host (not locally)在远程主机上使用烧瓶 virtualenv(不是本地)
【发布时间】:2015-09-18 10:38:56
【问题描述】:

我有一个 CentOS 7 WSGI 启用 Apache Httpd 服务器(在 VirtualBox 机器上),它在端口 80 上的 http://www.myflask.com 为我正在开发的 Flask 站点提供服务。

由于我无法在那里调试(即使我尝试了所有可能的方法),就像我可以在 http://127.0.0.1:5000 的 virutalenv 中设置的本地版本上一样,我试图这样做:

  • 在 VB 服务器上设置一个 virtualenv(安装了烧瓶),称为 myflaskv (/var/www/myflaskv)
  • 将 myflask 目录放入 myflaskv (/var/www/myflaskv/myflask)

我确实以以下 httpd.conf 虚拟主机部分结束:

    <VirtualHost *:80>

    DocumentRoot "/var/www/myflaskv/myflask"

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory "/var/www/myflaskv/myflask">
        Options Indexes FollowSymLinks MultiViews
        Order deny,allow
        Allow from all
    </Directory>

    WSGIScriptAlias / /var/www/myflaskv/myflask/index.wsgi

    ServerName www.myflask.com:80

</VirtualHost>

我可以加载页面http://www.myflask.com(即使激活了virtualenv),但我无法加载页面http://www.myflask.com:5000,因为我想调试。

所以我尝试在 5000 端口添加虚拟主机:

<VirtualHost *:5000>

    DocumentRoot "/var/www/myflaskv/myflask"

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory "/var/www/myflaskv/myflask">
        Options Indexes FollowSymLinks MultiViews
        Order deny,allow
        Allow from all
    </Directory>

    WSGIScriptAlias / /var/www/myflaskv/myflask/index.wsgi

    ServerName www.myflaskv.com:5000

</VirtualHost>

假设这样我可以加载http://www.myfaskv.com,但我不能(ERR_CONNECTION_REFUSED)。

顺便说一句,我暂时停用了 ip-tables 和 se-linux。

那么有没有办法从浏览器加载远程主机的 127.0.0.1:5000 ip 地址? 或者有更好的方法在 wsgi apache 开发环境中调试烧瓶?

【问题讨论】:

  • 调试模式与端口无关。如果你想要调试模式,你需要在某处设置app.debug = True

标签: apache debugging flask virtualenv wsgi


【解决方案1】:

如果您想从框外访问 url,则必须在 0.0.0.0:5000 运行服务器。

网址http://127.0.0.1:5000 无法从您运行它的框外访问。

【讨论】:

    【解决方案2】:

    当您使用 wsgi 访问您的应用程序时,错误消息和堆栈跟踪将写入 Web 服务器错误日志,默认情况下位于 /var/log/apache2/error.log。您不需要使用 virtualenv Web 服务器。只需将您需要的任何调试输出写入本地日志文件(如果您有要打印的调试输入)并在 apache 错误日志中查找堆栈跟踪。

    【讨论】:

    • 感谢您的回答。我实际上正在查看 apache 错误日志,但我无法获得有关问题的足够详细信息,我认为烧瓶调试器更冗长。
    猜你喜欢
    • 2017-07-19
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 2021-03-17
    • 2020-08-22
    • 2019-09-10
    • 1970-01-01
    • 2016-03-19
    相关资源
    最近更新 更多