使用共享主机

时间:2016-02-03 21:23:19

标签: python api rest flask

我在部署REST API时遇到问题并且不断出现500内部服务器错误。我已经通过几个可能的解决方案和指南来解决这个问题,包括以下内容:

http://flask.pocoo.org/docs/0.10/deploying/cgi/

Deploy flask application on 1&1 shared hosting (with CGI)

并遵循本指南:

http://blog.miguelgrinberg.com/post/designing-a-restful-api-with-python-and-flask

这是我的代码:

restapplication.py

#!/home/myusername/public_html/todo-api/flask/bin/python
from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return "Hello, World!"

run.cgi

#!/home/myusername/public_html/todo-api/flask/bin/python

import cgitb; cgitb.enable()
from wsgiref.handlers import CGIHandler
from restapplication import app

CGIHandler().run(app)

.htaccess(存储在/ home / myusername / public_html /)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /home/myusername/public_html/todo-api/flask/run.cgi/$1            [L]

我感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

不确定您是否获得了解决方案,但是对于记录 -

如果您设置了虚拟环境,则必须在restapplication.py中添加这些行以指向site-packages,以便您的代码可以访问Flask库。< / p>

import os
import sys
sys.path.insert(0, '/home/username/public_html/cgi-bin/myenv/lib/python2.6/site-packages')

休息一切看起来还不错。

也许您可以检查.cgi文件和.py文件的文件权限。文件权限应为 755

参考:http://www.comfycoder.com/home/how_to_deploy_a_flask_app_in_apache_shared_hosting