使用SpringBoot 等框架用户可以考虑是否忽略, 引子需要做API接口有很多原因 前端开发使用api接口,依赖后端,假数据使用Mock或者本地json之类,不够灵活 自己Demo或者程序,需要提供接口调用 等 原则上,部署完毕,后期可以做很接口开发,主要为APP提供接口使用, 至于安全和负载是后期的事情了,本文连日志和数据库都没来得及加.... 另:自己搭建API服务器,成本和步骤是复杂度可以自行对比商业云服务后台 效果浏览器/PostMan 可以请求到服务器部署的 get返回结果 ,后续业务处理未完待续 是的,就是这么简单的需求
服务器 [白P的甲骨文主机],具体步骤请自行搜索 关键字 "甲骨文"“免费服务器” 注:免费服务器申请有失败概率,如没有成功,可以考虑其他平台云服务器
SSH 工具,示例使用Xshell 步骤
申请 服务器,创建示例,上传SSH密钥 打开端口 8080 , 建议创建Ubuntu主机,我选CentOS ,结果遇到很多问题, 需要自行安装很多依赖,pip iptable等,后期部署完毕,发现8080端口没开
SSH连接到,目标主机, 如果使用Oracle主机,ubuntu默认密码是ubuntu ,CentOS默认密码opc 开始安装 $ pip install uvicorn $ pip install uvicorn安装完毕,按照Demo示例,写个main.py from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "FastAPI"}通过xshell上传到服务器 这里使用xshell直接拖到命令行就可以,如果提示,需要安装 lrzsz yum install lrzsz启动 uvicorn服务 uvicorn main:app --host '0.0.0.0' --port 8080 --reload参数说明 main: 指定主程序文件main.py文件, 如果main.py文件改成test.py 则命令也需要改为uvicorn test:appapp: 在main.py中使用app = FastAPI()创建的对象 --host:远程主机ip,如果是本地则可以不要这个参数 --host:端口号--reload:在修改源代码后程序会自动重新加载不用退出重新启动 运行成功后,会看到日志: [root@bang-20210926-1658 ~]# uvicorn main:app --host '0.0.0.0' --port 8080 --reload INFO: Will watch for changes in these directories: ['/root'] INFO: Uvicorn running on [:8080](:8080/) (Press CTRL+C to quit) INFO: Started reloader process [36821] using statreload INFO: Started server process [36823] INFO: Waiting for application startup. INFO: Application startup complete. INFO: 45.117.99.101:3662 - "GET / HTTP/1.1" 200 OK接下来在浏览器或者使用Postman访问 ,就可以看到返回结果了 :8080/过程中遇到的问题 centos 缺少各种依赖库,pip iptables, 端口未开放 本文参考:[排名部分现后,感谢作者] 1.FastAPI官方 https://www.uvicorn.org/ 2..FastAPI简单操作 https://www.jianshu.com/p/3d391d022239 3.FastApi环境安装+服务器部署 https://blog.csdn.net/suyancc/article/details/106588589 4.uvicorn|更改fastapi服务器运行host和port https://blog.csdn.net/qq_31989047/article/details/105838679 5.检测服务器端口是否被封(墙) https://blog.csdn.net/willingtolove/article/details/104242802 6.Centos查看端口占用情况和开启端口命令 https://cloud.tencent.com/developer/article/1473377 https://www.cnblogs.com/xqzt/p/4919191.html 7.CentOS7出现Unit iptables.service could not be found https://blog.csdn.net/good_luck_l/article/details/94468915 8.WEB框架对比——Django、Flask、FastAPI https://www.cnblogs.com/zhuminghui/p/14741536.html 9.Xshell实现Windows上传文件到Linux主机 https://blog.csdn.net/shenjianxz/article/details/56686449 10.Xshell官网下载 https://www.netsarang.com/en/xshell/ (责任编辑:) |