【发布时间】: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