Apli Flask запускается из оболочки Python, но не после размещения на Ubuntu - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь выставить вывод программы в виде API. Я использую колбу для создания моего API. Я хочу разместить то же самое в машине Linux. Когда я запускаю сценарий из моего локального компьютера, я могу найти выходные данные на http://127.0.0.1:5000/, но когда я пытаюсь запустить его из среды linux, он сообщает об ошибке 404 или страница не найдена, и ошибки нет коды вроде 404, 500 поступают в мою оболочку linux. Как я могу заставить его работать в моей среде Linux? Как я могу проверить, что он работает на Linux? Прикрепленный код ниже:

from flask import Flask, request
from flask_restful import Resource, Api
#from flask.views import MethodView

app = Flask(__name__)
api = Api(app)    
class dtext(Resource):
    def get(self, result):
        return {'data': d.convert(result)}


categories= ["bus", "jack"]   
@app.route('/ec')
def returnResult():
  return categories[0]

if __name__ == '__main__':
     app.run(host="0.0.0.0", port=5000)

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Вы используете соединение 127.0.0.1:5000 на самой машине с Linux или с другой машины на машину с Linux?

Вам необходимо убедиться, что ваше приложение прослушивает 0.0.0.0 или оно будет принимать подключения только от localhost (самого себя).

app.run(host="0.0.0.0", port="5000")

Если вы не можете устанавливать какие-либо подключения напорт 5000 на ваш Linux-компьютер, вам нужно взглянуть на правила брандмауэра.

0 голосов
/ 04 июля 2019
  1. В командной строке запустите приложение, набрав flask run --host=0.0.0.0. (Это плохая идея для производственного кода)
  2. Затем откройте браузер.
  3. Введите IP-адрес компьютера Linux ([IP ADDRESS]/ec), и вы должны увидеть результат. Является ли ваш сервер виртуальной машиной, локальной сетью или облаком?
...