我有一个CentOS 7 WSGI支持Apache Httpd服务器(在VirtualBox机器上),它在端口80上http://www.myflask.com为我开发的Flask站点提供服务。
由于我无法在那里进行调试(即使我尽我所能),就像我在http://127.0.0.1:5000的virutalenv中设置的本地版本一样,我试图这样做:
我确实以下面的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开发环境中调试flask?
答案 0 :(得分:0)
如果您想从框外访问网址,则必须在0.0.0.0:5000
运行服务器。
无法从正在运行它的框外访问网址http://127.0.0.1:5000
。
答案 1 :(得分:0)
当您使用wsgi访问您的应用程序时,错误消息和堆栈跟踪将写入Web服务器错误日志,默认情况下将写入/var/log/apache2/error.log。您不需要使用virtualenv Web服务器。只需将您需要的任何调试输出写入本地日志文件(如果您有要打印的调试输入),并在apache错误日志中查找堆栈跟踪。