# 刚刚接触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 如有错误,请联系我改正!