使用 FastCGI 部署 Flask 应用程序,意外的应用程序根目录
Deploy Flask app with FastCGI, unexpected application root
我按照教程here将我用flask制作的网站部署到了bluehost。即我使用了 apache 和 fastcgi。在我的 application.fcgi 文件中,我有:
#! /home2/wandonye/python/python34/envs/flask/bin/python
project = "vshare"
from flup.server.fcgi import WSGIServer
from vshare import create_app
application = create_app()
WSGIServer(application).run()
但是 url_for 生成的每个 link 中都有一个额外的 myapplication.fcgi。因此,我得到的不是 "www.mydomain.com/signin",而是 "www.mydomain.com/myapplication.fcgi/signin"。
感觉我的PROJECT_ROOT变了。
我以前在自己电脑上用apache+uWSGI部署网站没问题
我应该记住 fastcgi 有什么特别之处吗?如何删除 link 中不需要的 "myapplication.fcgi"。
我终于找到了解决办法here
问题是 fcgi 的基本问题,与 apache 设置无关。所以解决它的唯一方法是更改来自 url_for 的字符串,删除不需要的“xxx.fcgi”
我按照教程here将我用flask制作的网站部署到了bluehost。即我使用了 apache 和 fastcgi。在我的 application.fcgi 文件中,我有:
#! /home2/wandonye/python/python34/envs/flask/bin/python
project = "vshare"
from flup.server.fcgi import WSGIServer
from vshare import create_app
application = create_app()
WSGIServer(application).run()
但是 url_for 生成的每个 link 中都有一个额外的 myapplication.fcgi。因此,我得到的不是 "www.mydomain.com/signin",而是 "www.mydomain.com/myapplication.fcgi/signin"。
感觉我的PROJECT_ROOT变了。
我以前在自己电脑上用apache+uWSGI部署网站没问题
我应该记住 fastcgi 有什么特别之处吗?如何删除 link 中不需要的 "myapplication.fcgi"。
我终于找到了解决办法here
问题是 fcgi 的基本问题,与 apache 设置无关。所以解决它的唯一方法是更改来自 url_for 的字符串,删除不需要的“xxx.fcgi”