之前用Flask框架开发了一个Python的restful api服务器项目,使用Nginx和uWSGI部署起来感觉挺麻烦,过程中还因为对Flask框架和uwsgi的不熟悉,花了好长时间才把应用完全部署起来。下面分享部署成功的相关配置以及部署Flask项目时极可能犯的一个小错误。
一、 配置
1. Flask 项目源码
Nginx使用的版本是1.12.1,uWSGI是2.0.15,Flask是0.10.1。在Mac环境下安装好Nginx、uWSGI和Flask之后,将使用Flask框架开发的server项目源码放到Mac服务器的某个目录下,例如/Users/xxxx/data/myserver/restful。以最简单的一个Flask项目作为例子,其代码只有test.py一个源码文件,内容如下:
#!flask/bin/python
"""Alternative version of the ToDo RESTful server implemented using the
Flask-RESTful extension."""
from flask import Flask
from flask_restful import Api
from APIResources.ExamplTaskApi import *
from APIResources.UserInfoAPI import *
app = Flask(__name__, static_url_path="")
api = Api(app)
api.add_resource(TaskListAPI, '/todo/api/v1.0/tasks', endpoint='tasks')
api.add_resource(TaskAPI, '/todo/api/v1.0/taskbyid', endpoint='task')
api.add_resource(GetUserInfoByUsernameApi, '/api/v1.0/user/getuserinfo', endpoint='getuserinfo')
api.add_resource(