当前位置: 首页 > 知识库问答 >
问题:

在ubuntu服务器上使用uvicorn运行快速应用程序

唐照
2023-03-14

我正在处理在FastAPI上向远程ubuntu服务器提交的项目文件。我将尝试通过以下命令从终端运行项目(使用SSH连接)

gunicorn -k uvicorn.workers.UvicornWorker main:app

输出是

gunicorn -k uvicorn.workers.UvicornWorker main:app
[2020-07-14 15:24:28 +0000] [23102] [INFO] Starting gunicorn 20.0.4
[2020-07-14 15:24:28 +0000] [23102] [INFO] Listening at: http://127.0.0.1:8000 (23102)
[2020-07-14 15:24:28 +0000] [23102] [INFO] Using worker: uvicorn.workers.UvicornWorker
[2020-07-14 15:24:28 +0000] [23104] [INFO] Booting worker with pid: 23104
[2020-07-14 15:24:28 +0000] [23104] [INFO] Started server process [23104]
[2020-07-14 15:24:28 +0000] [23104] [INFO] Waiting for application startup.
[2020-07-14 15:24:28 +0000] [23104] [INFO] Application startup complete.

但是我需要这个项目在服务器的IP地址上可用。如果我尝试像

uvicorn main:app --host 66.226.247.55 --port 8000 

我明白了

INFO:     Started server process [23308]
INFO:     Waiting for application startup.
INFO:     Connected to database postgresql://recognition:********@localhost:5432/reco
INFO:     Application startup complete.
ERROR:    [Errno 99] error while attempting to bind on address ('66.226.247.55', 8000): cannot assign requested address
INFO:     Waiting for application shutdown.
INFO:     Disconnected from database postgresql://recognition:********@localhost:5432/reco
INFO:     Application shutdown complete.

在哪里66.226.247.55-来自谷歌云平台实例的外部IP地址我如何启动一个项目,以便可以通过IP访问?

共有2个答案

席弘图
2023-03-14

无法在GCP的本地服务器上启动快速api应用程序到远程服务器。

您必须将应用程序部署到GCP。换句话说,您需要在远程服务器而不是本地主机上运行该命令。

马臻
2023-03-14

--host应该是GCP服务器的本地地址。

uvicorn main:app --host 0.0.0.0 --port 8000

现在通过http://66.226.247.55:8000

注意:您应该打开GCP服务器的8000端口。

 类似资料:
  • 我是Spring应用程序开发的新手。 如何在tomcat服务器的开发阶段运行我的应用程序。 在这里我可以看到最终部署的解决方案。每次我需要停下来重新开始时,我只需要在ui上更改一些。这让我很难受。所以你能帮我照顾她吗?? 我的pom.xml依赖是 org.springframework spring-binding 1.0.6

  • 问题内容: 我将Selenium与Java(1.8)中的Chromedriver结合使用来进行一些自动的网络爬网: 我正在尝试迁移到Ubuntu 16.04服务器。在服务器上,我安装了Ubuntu chromedriver版本2.37,chrome版本65。根据chromedriver文档,这些版本兼容。我已经更改了指定chromedriver在Ubuntu中的位置的代码: 在运行程序之前,我先启

  • 我开始了一个新的项目Angular2(客户端)和节点JS(服务器端)技术。 我已经使用和创建了一个RESTful API。输入特定URL时,将显示匹配的Json响应。到现在为止,一直都还不错。 现在我正试图在这个过程中积分Angular 2。我已经创建了这个应用程序。组成部分显示页面时,组件未加载,我得到了一些404代码: 这是我的项目结构: 我的包裹。json: 还有我的索引。ts(服务器):

  • 我开发了一个服务于rest服务的独立spring boot应用程序,我把它打包成了一个< code>jar,它运行正常。为了在生产服务器(Websphere)上发布它,我必须将它转换成一个< code>war。 我已经更新了我的<code>pom。xml添加以下行: 然后,我启动了,我得到了。因此,在Tomcat服务器上发布它可以正常工作,但在Liberty上我收到了错误: 我还修改了我的入口点,

  • 这里有一些在服务器运行 WSGI 应用的方式。当你正在开发一个应用,你往往不想在一个成 熟服务器上部署和运行,取而代之的是一个轻量服务器。 Werkzeug 就内置了这样一个轻量 的服务器。 在一个服务器上运行 start-myproject.py 最简单的方法如下示例: #!/usr/bin/env python # -*- coding: utf-8 -*- from werkzeug.se

  • 这个问题听起来可能重复,但事实是,我还没有收到解决方案。我刚刚进入struts2,正在尝试一个登录应用程序。我附上了以下图书馆: 当我单独运行正常的JSP页面(没有struts标记)时,它运行正常。但每当我单独运行带有struts标记的jsp页面时,它都会显示。在创建整个网络之后。xml和struts。xml并运行它报告的整个应用程序。我知道问题是我的jsp页面没有被识别。请帮忙。 网状物xml: