我一直在尝试让 Flask 在我的 webfaction 服务器上工作几个小时,但没有结果。
我按照 http://flask.pocoo.org/snippets/65/ 上的说明进行操作
我的index.py 文件存储在htdocs 下。
import sys
yourappname = "/home/<myusername>/webapps/myapp/htdocs"
if not yourappname in sys.path:
sys.path.insert(0, yourappname)
from yourappname import app as application
然后我将其添加到我的 httpd.conf 文件中:
WSGIPythonPath /home/yourusername/webapps/yourapp/htdocs/
#If you do not specify the following directive the app *will* work but you will
#see index.py in the path of all URLs
WSGIScriptAlias / /home/yourusername/webapps/yourapp/htdocs/index.py
<Directory /home/yourusername/webapps/yourapp/htdocs/>
AddHandler wsgi-script .py
RewriteEngine on
RewriteBase /
WSGIScriptReloading On
</Directory>
然后我将 myapp.py 放在 index.py 旁边的同一个 htdocs 目录中:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
我的域名指向了我在 webfaction 中的项目。在我按照说明中所述用新的覆盖之前,默认的 index.py 正在工作。然而,我只得到了服务器 500。我很抱歉,但在 Linux 和管理服务器方面我完全是个菜鸟。我什至无法访问用户下的错误日志,因为它说我没有权限。
我认为这与我在linux服务器上安装flask有关,我通过easy install安装了它,它说它安装了所有依赖项并且没有给出任何错误。
最佳答案
一些建议:
- 在你的index.py中有你的appname的地方,你不应该有myapp吗?
- 此外,我假设您已在“WSGIPythonPath/home/yourusername/webapps/yourapp/htdocs”中进行了适当的替换
- 您是否尝试过通过发出
~/webapps/<app_name>/apache2/bin/restart
来重新启动 apache 服务器?
关于python - 无法在 Webfaction 上部署简单的 Flask 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10156591/