在Apache代理下运行flaskjquery示例

2024-09-24 12:34:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以成功地运行Flask jQuery example(如Flask's "AJAX with jQuery"页面底部附近所述)它在flask开发服务器上运行,并且可以在http://localhost:5000进行访问。在

如何代理该页面,以便可以访问http://localhost/jqueryexample下的同一个应用程序?在

我在我的Apache VirtualHost条目中添加了以下内容:

ProxyPass /jqueryexample http://localhost:5000/
ProxyPassReverse /jqueryexample http://localhost:5000/

但是新的URL给出了404错误:

^{pr2}$

如何让示例在“canonicalurl”下正确运行(不确定这是否是正确的术语)?或者,如何更改app或Apache配置,以使jQuery示例在两个url上运行?在


顺便说一句,下面是您如何下载并运行问题中的香草Flask jQuery example

git clone http://github.com/mitsuhiko/flask 
cd flask/examples/jqueryexample/ 
python jqueryexample.py

Tags: 服务器应用程序localhosthttpflask示例代理example
2条回答

好吧,在进一步研究之后,我想我回答了我自己的问题:

显然,与其运行flask开发服务器并尝试通过apachehttpd代理它,最好使用mod wsgi将应用直接部署到Apache。关于如何做到这一点的指导方针有很好的文档here。实际上,对于生产,根本不建议使用dev服务器(请参见here

至于部署jQuery Flask example本身,如下所示(假设您的DocumentRoot是/var/www/html):

# Get the example code.
git clone http://github.com/mitsuhiko/flask 
cd flask/examples/jqueryexample/

# Create WSGI file.
echo "\
import sys\
sys.path.insert(0, '/var/www/html/jqueryexample')\
from jqueryexample import app as application\
" > jqueryexample.wsgi

# Deploy to httpd.
sudo mkdir /var/www/html/jqueryexample
sudo cp -r * /var/www/html/jqueryexample/

现在将此添加到虚拟主机:

^{pr2}$

然后重启httpd。现在请在http://localhost/jqueryexample上查看运行应用程序。喂!在

我面前没有安装Apache,但是如果你正在代理应用程序,你不应该更改索引.html从

$.getJSON($SCRIPT_ROOT + '/_add_numbers', {

^{pr2}$

相关问题 更多 >