【问题标题】:Not able to get the uvicorn.run running on browser | ERR_CONNECTION_REFUSED无法在浏览器上运行 uvicorn.run | ERR_CONNECTION_REFUSED
【发布时间】:2022-06-17 02:54:25
【问题描述】:

我对 Python 很陌生。

我正在用fastapiuvicorn 制作一个简单的网络服务器。

当我构建我的 Docker 并运行它时,我有以下内容:

INFO:     Started server process [1]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:5000 (Press CTRL+C to quit)

我的代码是:

# Setup FastAPI server
import uvicorn
from fastapi import FastAPI
from fastapi_utils.tasks import repeat_every
from fastapi.middleware.cors import CORSMiddleware
from dotenv import load_dotenv
import os
from pymongo import MongoClient
import logging

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

load_dotenv('env')

# Database
CONNECTION_URL = os.environ['mongoConnectionURL']
DATABASE_NAME = os.environ['mongoDatabaseName']
NEWS_COLLECTION = os.environ['mongodbNewsCollection']

app = FastAPI()

# TODO JS has next function i'm currently unaware of
app.add_middleware(
    CORSMiddleware,
    allow_origins=['*'],
    allow_headers=["Origin, X-Requested-With, Content-Type, Accept"],
)

@app.get('/')
def index():
    return 'See /entries'

@app.get('/entries')
def getEntries():
    client = MongoClient(CONNECTION_URL)
    databaseMongo = client.get_database(DATABASE_NAME)
    collectionMongo = databaseMongo.get_collection(NEWS_COLLECTION)
    result = list(collectionMongo.find())
    for entry in result:
        return {
            'data': result
        }

if __name__ == "__main__":
    uvicorn.run(app, port=int(os.environ['PORT']))

当我访问http://127.0.0.1:5000 时,浏览器会显示ERR_CONNECTION_REFUSED 页面。

【问题讨论】:

  • 您尚未向我们展示您是如何运行容器的,因此我们无法回答您的问题。您是否使用-p 选项将端口发布到您的主机到docker run
  • 感谢您的澄清,让我现在添加它。

标签: python fastapi uvicorn


猜你喜欢
  • 2011-06-21
  • 2016-03-03
  • 1970-01-01
  • 2015-04-02
  • 2012-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多