Приложение к фляге с официанткой на окнах - PullRequest
0 голосов
/ 26 июня 2018

Я могу запустить веб-сервер, используя следующий код

from flask import Flask
from waitress import serve

app = Flask(__name__, static_url_path='/static')
...
serve(app, port=8080)

Проблема в том, что я могу получить к нему доступ только с компьютера, на котором он запущен, и если я пытаюсь получить к нему доступ через ipv4 ip, он не работает. Я пропускаю шаг?

Ответы [ 4 ]

0 голосов
/ 28 апреля 2019

Waitress теперь предоставляет простую утилиту командной строки с именем waitress-serve для запуска приложения Flask. Обратите внимание, что этот ответ действителен для Официантка 1.30 . Аргументы командной строки могут измениться в будущем.

Если ваше приложение Flask называется myapplication , а метод, который создает экземпляр вашего приложения, называется create_app , то вы можете просто использовать: -

waitress-serve --call "myapplication:create_app"

Эта команда запустит сервер, прослушивающий порт 8080 по умолчанию.

Если вы хотите запустить его через порт 80 (http) , то все, что вам нужно сделать, это:

waitress-serve --port=80 --call "myapplication:create_app"


enter image description here NB: нажмите на изображение, если оно не очень четкое.

Официантка обслуживает аргументы командной строки .

Flask 1.0 production руководство по развертыванию .

0 голосов
/ 30 августа 2018

Простой пример, попробуйте!
Я надеюсь, что это поможет вам.

app1.py

from flask import Flask
app = Flask(__name__)
# app.run(host='0.0.0.0', port=8080,debug=True)

waitress_server.py

from waitress import serve
import app1
serve(app1.app, host='0.0.0.0', port=8080)

Затем выполните команду ниже

python waitress_server.py 
0 голосов
/ 06 сентября 2018

Я только что понял, что можно получить доступ к компьютерам в одной сети, но не от компьютеров вне сети

Вам необходимо перенаправить порт на маршрутизаторе и использовать ваш общедоступный IP-адрес.

0 голосов
/ 28 июня 2018

подача (приложение, хост = '0.0.0.0', порт = 8080)

...