通过 Nginx 实现类似RAID0的效果

这几天做了一个停车场的项目,出入口的相机会拍照并保存在前端的机器里,也就是收费岗亭里的那台电脑。当一个收费站有两个出入口时,照片分布在AB两台机器中。当你需要调取照片时,有可能在A机器中,也可能在B机器中。

为了能够统一的调取照片,利用 nginx 的反向代理把两台电脑的目录整合成了一个整体,对外使用一个入口。如果把电脑看成硬盘,那就是实现类似 RAID 0 的读取效果。

基本配置

两台电脑分别安装 nginx ,并配置目录,主要是修改 nginx 的配置文件,将

location / {
  root html;
  index index.htm index.html;
}

改成

location / {
  root ../BackupPhoto;
}

这个是出入口照片保存的目录,因为收费机的系统是 windows ,不太清楚绝对路径怎么写,就用了对应 nginx.exe 文件的相对路径。

D:
BackupPhoto
nginx-1.15.8
nginx.exe

这样两个电脑各自都能通过 http 对外提供照片了。

统一入口

现在要把入口合并到一起,让用户通过其中一台电脑就能访问到所有的图片,继续修改其中一台的配置:

location / {  
  root ../BackupPhoto;  
  try_files $uri @photoproxy;  
}

location @photoproxy {  
  proxy_pass  http://192.168.10.55; # 另一台的 ip  
}

这样,当访问这台服务器,并且根据文件名找不到图片的时候,会触发 try_files 规则,从而将请求通过 proxy_pass 转发到另一台电脑。那台电脑也找不到图片时,返回 404 。

如果有更多的设备,也可以按照这个方式把他们依次串联起来。

其他

电脑关机或重启后,为了让 nginx 可以开机启动,最简单的方式是使用“启动”目录。以前的 windows 在附件下面有个“启动”目录,这次用的 windows 10 ,找不到这个目录了,最好通过在运行框(win+R)输入 shell:startup 打开了这个目录。然后为 nginx.exe 创建一个快捷方式,拖到这个目录就可以了。

更多

我的第一个MCP,以及开发过程中的经验感悟

起心动念 上周开发完 sheetex 后,发了条朋友圈。有小伙伴建议搞个 MCP 玩,正好我本来也想学,于是这周就花了一天完成了 sheetex-mcp-server,一个将对话中生成的表格保存成 Excel 的 MCP 服务。 做之前快速调查了一下 smithery 和 modelscope ,发现已经有好几个 Excel 相关的:实现上既有调用本机上的 Office 软件进行操作的,也有用库读写文件的;功能就更加眼花缭乱,从简单读写数据,到插入图表,甚至可以截图保存。 看来是打不过了,好在只是做个练习,开搞。 一天下来,学到不少东西,也填了好几个坑,本文以坑为主。 那么下面就按顺序来了。 新手上路 Build an MCP Server 是官方的教程,新手入门刚刚好,它通过调用天气相关的接口演示了 MCP Server 的开发过程。

By 熊立丁

12KB的Excel导出库sheetex是怎么来的

这是一个关于前端 Excel 导出库 sheetex 的故事:我为什么要做这个库,它为什么会这么小,以及你是否值得一试。 如过你问我“为什么非要在前端导出”,那将是另一个故事。 我的数据导出史 不知道你是否还记得自己是从什么时候开始接触数据导出的? 我对自己的“数据导出史”还算有些印象:在还没有正式工作的时候,如果有人问我要数据,我会在数据库管理工具里写个查询语句,然后视对方的用途,导出成SQL 语句、CSV 文件或者Excel 等;待到工作了,需要开发面向最终用户的系统,就不能再这么手工处理,导出功能成为系统标配,用户点击一个按钮,就要下载到相应的文件。 最早是 CSV 格式,因为其生成相对容易,而且也可以通过 Excel 软件进行查看,加上主要是内部用户,偶有无法打开也只要简单培训就能解决。 但随着用户类型变得广泛起来,这种“偶尔”也逐渐变成无法忍受,那么干脆直接导出 Excel 文件吧,反正开源库也已经成熟,于是使用 SheetJS

By 熊立丁
浙ICP备15043004号-1