2017-10-09 4 views
0

私はPythonでフラスコアプリ経由flask_restプラスのAPIを持っているすべての展開Flask_restplus APIは、nginxのサーバー

にuwsgi.py使用してフラスコのAppの上に構築します。私はnginxサーバー上でuwsgi形式を使用して同じものを展開したい。私はかなり長い間検索しましたが、書き込み解決策を見つけられませんでした。すべてのリードは役に立ちます..

ありがとうございます。以下は

コードスニペットは、私のwsgi.pyファイルがこの

import sys 
sys.path.insert(0, "/home/gulshan/Downloads/SA_PANDAS_SGDC/src") 


from APP.Application import app 
application = app 

私はこのWSGIファイルを使用してみました、私のLinuxマシン上で以下のコマンドを焼成して、サーバーを開始したように見える

import datetime 
from fileinput import filename 
import json 
import os 

from flask import request 
from flask_restplus import Resource, Api 

from werkzeug.utils import secure_filename 
from APP.Application import app 
from ApiConfig.ObjectConfig import Trainer, cData, Tmodal, Amodal, Cmodal 
from ApiConfig.SA_utility import sentiment_sorting 
from ApiConfig.appFileConfig import UPLOAD_FOLDER 
from Classification.Classifier import classify 
from DataBase.DB import db 
from ExcelParser_DataFrame.Excel_Parser import ExcelDataFrame 

from Vectorizer.Data_vector import vectorizer 
from Mapper.UI_Map import UI_Map 
from werkzeug.contrib.fixers import ProxyFix 



api = Api(app) 
app.wsgi_app = ProxyFix(app.wsgi_app) 

@api.route('/sentiment-analysis/trainer') 

class Upload_File(Resource): 
    def post(self): 
    .............. 


if __name__ == '__main__': 
    db.init_app(app) 
    db.create_all() 
    app.run(host='0.0.0.0') 

です

uwsgi --http :5000 --wsgi-file wsgi.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191 

私がPostmanを使用してURLにアクセスしようとすると、次のようにエラーが表示されます: -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> 
<title>404 Not Found</title> 
<h1>Not Found</h1> 
<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.</p> 

マイAPP.Applicationファイルは次のようになります - これを行うの奇妙な方法のようですが、

from flask import Flask 
from ApiConfig import Settings as settings 

app = Flask(__name__) 


#app.config['SERVER_NAME'] = settings.FLASK_SERVER_NAME 
app.config['SQLALCHEMY_DATABASE_URI'] = settings.SQLALCHEMY_DATABASE_URI 
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = settings.SQLALCHEMY_TRACK_MODIFICATIONS 
app.config['SWAGGER_UI_DOC_EXPANSION'] = settings.RESTPLUS_SWAGGER_UI_DOC_EXPANSION 
app.config['RESTPLUS_VALIDATE'] = settings.RESTPLUS_VALIDATE 
app.config['RESTPLUS_MASK_SWAGGER'] = settings.RESTPLUS_MASK_SWAGGER 
app.config['ERROR_404_HELP'] = settings.RESTPLUS_ERROR_404_HELP 
app.config['SQLALCHEMY_POOL_SIZE'] = settings.SQLALCHEMY_POOL_SIZE 
#app.config['SQLALCHEMY_POOL_TIMEOUT'] = settings.SQLALCHEMY_POOL_TIMEOUT 
app.config['SQLALCHEMY_POOL_RECYCLE'] = settings.SQLALCHEMY_POOL_RECYCLE 
app.config['SQLALCHEMY_MAX_OVERFLOW'] = settings.SQLALCHEMY_MAX_OVERFLOW 

答えて

0

が私のために働いソリューションを手に入れた: - は私uwsgi.pyを変更

import sys 
sys.path.insert(0, "/home/gulshan/Downloads/SA_PANDAS_SGDC/src") 


from APP.Application import app 
from flask import Flask 
from SA_APP.SA import appnew 

application = app 
application = appnew 

は私の最初のコードスニペットファイル含む主コールにこの行を追加

api = Api(app) 
appnew = app. 
関連する問題