fastapi + uvicorn 搭建web服务(一)

# 刚刚接触python开发工作,在此记录一下web服务的搭建问题。众(从/人)所周知,做后端开发,不能闷头写代码,我们把后台各项功能都实现了也测试通过了之后,需要将他们封装成接口来供其他人的调用,当然有的大牛可以自己实现全闭环(Not me anyway XD),OK,废话不多说,让我们直接进入fastapi + uvicorn的简单应用中。

首先需要明确的是客户端/服务器的概念,我们的信息是在两者之间交互的。

服务器顾名思义就是服务器(听君一席话,胜似一席话),服务器他在那里不会动,一直提供着一项服务,等着你去使用(体验),而客户端就比较灵活可以连接服务器去获取它提供的服务。

教员教我们要实践出真知,所以在此举个例子-------------

隔壁的老王每天都在蹭你家的WiFi,他很不好意思,所以为了报答你,他在局域网内布置了一个web服务,然后老王说,“以后你就是我兄弟,我会定期更新资源的,咱们有福同享。”

以下就是一个简单的实现,文件名是csdn_test.py后续会用到这个名字(uvicorn那一块):

from fastapi import FastAPI

app = FastAPI()

@app.get('/resource'):
def get_resource()
    return{'my_resource':'http://xxx.xxx.com'}

老王在他的服务器上写下了这样几行代码----(突然想起来,需要大家自己创建环境,然后通过安装各种的依赖包,来调用各种模块比如fastapi就是需要自己安装,环境的话,有很多现成的文章保姆级教程安装Anaconda,然后我们就可以使用conda命令了)

OK,我们从conda环境开始:

(确保自己安装好Anaconda并且配置好系统路径之后)win+R弹出一个框框,我也不知道叫什么名字,输入cmd,弹出一个黑色的框框,在其中输入:

conda create --name laowang

我们输入完这个之后,会提示你y/n之类的,直接输入y,然后回车默认版本的python就可以。

然后我们再输入:

conda info -e

 完事儿我们就可以看见我们创建过的环境。接下来我们再输入:

conda activate laowang

此时我们就激活了我们的虚拟环境,你可以在上面下载你想要的依赖包了,比如:

pip install fastapi

依赖包就不一一列举了,根据自己的需求和web需要实现的功能来安装。

此时我们再打开一个黑色的框框,Win+R 然后cmd 回车,我们进入到刚刚的环境,然后再进入到当前py文件的目录下,输入:

uvicorn csdn_test:app --reload

uvicorn也是依赖包,需要单独安装,此时会显示:

(laowang) E:\csdn>uvicorn csdn_test:app --reload
INFO:     Will watch for changes in these directories: ['E:\\csdn']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [31528] using WatchFiles
INFO:     Started server process [16252]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

然后随便打开个网页输入http://127.0.0.1:8000/resource

这样你就成功用本机调用了本机服务。。。你不能自己调用自己的服务啊是吧

呸呸呸,这是老王的服务啊,所以你要在你的电脑上显示老王提供给你的服务,就需要你的局域网ip地址,有点绕,可以去查相关资料。

老王这时候重新运行了:

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

他规定了0.0.0.0的IP可以访问他,端口是8000,也就是说,你需要知道你的ip然后找个网址输入: http://你的ip:8000/resource

这里的(0.0.0.0)是所有人可访问。

获取你ip的方法如下:

windows:

ipconfig

linux:

hostname -I

运行之后,打开网页,输入网址,你会得到:

{
  "my_resource": "http://xxx.xxx.com"
}

这就是前文提到的,老王分享给你的“资源”  XD

就先写到这,第一次写文章,感觉码字是有点费劲儿的-----

PLUS 如有错误,请联系我改正!

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FastAPI是一个现代、快速(高性能)的Web框架,它使用最新的ASGI标准。Gunicorn是一个使用WSGI标准的应用服务器,它可以直接运行Flask和Django,但不能直接运行FastAPI。为了在部署FastAPI时使用Gunicorn,可以借助uvicorn工作器。可以使用以下命令来启动FastAPI应用程序: ``` gunicorn main:app --workers 2 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000 ``` 这个命令中,`main`是你的应用程序的入口文件名,`app`是FastAPI应用程序的实例名。`--workers 2`表示使用2个工作进程,`--worker-class uvicorn.workers.UvicornWorker`表示使用uvicorn工作器,`--bind 0.0.0.0:8000`表示绑定到0.0.0.0的8000端口。这样就可以使用Gunicorn和uvicorn工作器来部署FastAPI应用程序了。123 #### 引用[.reference_title] - *1* *2* [ubuntu+nginx+gunicorn+uvicorn+fastapi](https://blog.csdn.net/qq_41960127/article/details/128832617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *3* [Docker生产环境部署FastAPI+supervisor+gunicorn+nginx](https://blog.csdn.net/weixin_45457042/article/details/129213133)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值