以下是 Python 内置 HTTP 服务器的几种常用启动方式:
- 默认端口启动(8000):
1 | python -m http.server |
以下是 Python 内置 HTTP 服务器的几种常用启动方式:
1 | python -m http.server |
懒猫微服开发篇(四):懒猫微服如何使用 OpenID Connect (OIDC)?(上)
OpenID Connect(OIDC)是一个基于 OAuth 2.0 的身份认证协议,允许用户使用一个账号(如 Google、微信、Microsoft 账号)登录多个不同的网站或应用,而无需重复注册。我们经常把他和OAuth 2.0 混为一谈。
它主要用于 身份认证(Authentication),而 OAuth 2.0 主要用于 授权(Authorization)。简单来说:
下面以我的懒猫 ENV 查看器为例,来讲解这个登录流程。
当你在应用处点击登录就会重定向到登录中心,我们通常管这个叫做身份提供商(IDP),如果是其他的软件有可能是 “使用 Google 登录” 或 “微信登录” 。
懒猫微服开发篇(三):如何将已有 Docker Compose 应用移植到懒猫微服
本文延续前两篇,演示如何把一个已经在本地运行良好的 Docker Compose 应用打包并上架到懒猫微服应用商店。以 Milvus 为例,逐步拆解 Manifest 配置、路由映射、数据卷绑定以及镜像加速等关键环节,帮助大家快速完成移植。
在懒猫微服中,一个最小可用的应用包仅需两个文件:
| 文件 | 作用 |
|---|---|
lzc-build.yml |
描述打包流程及应用图标。简单应用只需指定 icon 即可。 |
lzc-manifest.yml |
定义应用元数据与服务编排,是移植的重点。 |
本文主要关注 lzc-manifest.yml 的编写。
lzc-manifest.yml 字段逐一解析现在有了懒猫应用查看器很方便,我们以商店里的 Milvus 的示例 Manifest 为例,并附带注释说明。
我们上一篇讲述了如何打包上架 APP,这期我们就来看如何远程调试即将上架的 APP。
简单来讲,这个 devshell 其实就是在微服上打开了一个虚拟机环境,然后我们可以进去里面测试我们的命令。非要说技术实现,那就是 docker exec 了。只不过是做成了本地和微服之间同步的样子。
输入微服的名字/v2/_catalog,可以看到微服里面 Docker 仓库存放的镜像,debug.bridge 开头的就是 devshell 的 image。
1 | { |
在 lzc-build.yml 里定义了 devshell 的配置,这个的意思是就是安装 node 和 python 的环境,设置国内源,然后讲根目录转发到 5173,这个是 vue 的端口。所以我们可以推断,这个是一个 Vue+python 的全栈项目,所以我们可以开两个终端来进入 devshell,分别调试前后端。
懒猫微服开发篇(一):懒猫微服全栈上架指南,一步打包,一键发布
懒猫应用离不开社区的力量,有了各位社区贡献者的支持让懒猫商店的应用越来越丰富。下面示范如何把自己的全栈应用上架到懒猫微服。
官网给出的示例里只有 3 个必备文件:lzc-build.yml、lzc-icon.png、lzc-manifest.yml。

lzc-icon.png**:应用图标,必须为 PNG。lzc-build.yml**:定义打包脚本、输出路径与图标路径。lzc-manifest.yml**:应用清单,描述路由规则等。懒猫微服的可玩性在于可以让开发人员放开手脚来做一些事情,等于是提供了一个可靠的基础设施。那么理所当然我们可以把开源的知识应用到上面,比如开发或者移植应用,或者干脆部署一些好玩的东西。这在传统 NAS 上实现起来很困难,甚至都没有包管理工具。
我们看一看开发懒猫应用,需要什么样的知识?
那么,开发懒猫微服的应用需要掌握哪些技能呢?
懒猫微服的 CLI 本质上是一个通过 NPM 全局安装的工具包,因此掌握一些基本的 NPM 使用方法是必要的。
1 | npm install -g @lazycatcloud/lzc-cli |
懒猫微服故事篇(一):服务器宕机之后,我和前端靠懒猫微服结对编程
故事篇分享我和懒猫微服的方方面面,这里没有高深的技术,也没有过多的讲解。我始终坚信着技术是服务于生活,因为它能够给我们带来小确幸。更多的时候,我们追求技术,有时候为了兴趣,有时候为了心目中那小小的执念。慢慢在这个过程中会成为别人眼中的哆啦 A 梦。懒猫微服是一个百宝箱,我们能拿出千变万化的道具。事情会过去,但是感动和记忆会留下,我们可以随时追忆。
和前端同学约好晚上一起过一遍 API,主要是确认 Swagger 上的接口和字段设置。我事先把后端代码、API 和 Swagger 文档都部署在服务器上,让他先通过浏览器简单预览一遍,然后再开始写前端代码,这样能提前避免前后端格式对不上的问题。
准备开始之前,结果他突然说:‘你的 Swagger 打不开了。我登陆到管理控制台看了下,果然和之前部署 Dify 一样的问题,telnet 端口和 Ping 都正常,但是 SSH 和 Web 应用全都访问不了了。从基本监控俩看,CPU 和磁盘也没什么问题。大概率又是 OOM 了。

DDL 赶在眼前,得赶紧让他连到我的服务器或者开发机才好。第一个想到的是端口转发,把服务映射到公网上去,一方面调试的时候属于明文传输,在互联网上很容易被监听,篡改报文。另一方面,家里的公网 IP 经常出问题,总有一阵子会封禁所有的端口,所以最后采取了异地组网的方式。
我和他说,我在我的 NAS 上给你开一个账户,然后你试试来访问我的 Macbook 上的服务。你去下载一个懒猫微服,下载地址是https://lazycat.cloud/download,然后扫描我给你的二维码,这样就可以访问我的NAS了。(回看这段感觉有点像电信诈骗哈哈,感谢前端同学的信任)
从 Flask 项目打包为多平台 Docker 镜像并上传 Docker Hub(含 GitHub Actions
项目结构:
flask-demo/
├── app.py
├── requirements.txt
├── Dockerfile
├── start.sh
└── .github/
└── workflows/
└── docker.yml
app.pyfrom flask import Flask
app = Flask(name)
@app.route(‘/‘)
def hello():
return “Hello from multi-arch Flask Docker in production mode!”
Update your browser to view this website correctly.&npsb;Update my browser now