博客文章

分享技术见解、生活感悟和成长历程

Nginx 1年前

Nginx 如何集成 Lua 或其他语言插件

Nginx 虽然以高性能和模块化著称,但它本身并不具备处理复杂逻辑或动态内容的能力。为了增强 Nginx 的可编程性,我们可以通过集成 Lua 脚本或其他语言插件,让 Nginx 拥有“业务逻辑大脑”。 本文将以 Lua 为核心,介绍如何在 Nginx 中集成编程能力,并扩展到其他语言插件的接入方式。 目录 一、为什么需要在 Nginx 中编程 二、常用的扩展方式概览 三、使用 Lua 插件的推荐方式:OpenResty 四、Lua 常见用法示例 五、Nginx 支持其他语言的方式 六、使用注意事项 总结 一、为什么需要在 Nginx 中编程 默认情况下,Nginx 的行为由配置文件决定,

刘宇帅 1877 0
查看全文
Nginx 1年前

Nginx 单页应用配置详解

在现代 Web 开发中,单页应用(SPA)架构越来越常见,如 Vue、React、Angular 等前端框架都会生成一套静态资源,用于构建完整的前端页面。而 Nginx 则是部署这类应用最常见、最轻量、最稳定的 Web 服务器之一。 本文将详细讲解如何使用 Nginx 部署和配置单页应用,并解决常见问题如刷新 404、前后端分离跨域、缓存配置等。 目录 一、什么是单页应用(SPA) 二、Nginx 作为静态服务器的作用 三、基本部署配置 四、防止刷新 404 的 history 路由兼容 五、跨域请求处理(前后端分离) 六、缓存优化配置 七、完整配置示例 总结 一、什么是单页应用(SPA)

刘宇帅 2273 0
查看全文
Nginx 1年前

Nginx 四层代理详解:原理、配置与实战

Nginx 除了强大的七层 HTTP 反向代理能力,还支持四层代理(TCP/UDP),可以胜任数据库、Redis、MQTT 等非 HTTP 服务的代理与负载均衡需求。 本文将全面讲解 Nginx 四层代理的工作机制、配置方法及常见使用场景,帮助你更灵活地管理底层服务连接。 目录 一、什么是四层代理 二、Nginx 如何支持四层代理 三、常见使用场景 四、基础配置示例 五、进阶配置技巧 六、完整案例:Redis 四层代理 七、常见问题排查 总结 一、什么是四层代理 四层代理工作在 OSI 网络模型的传输层,主要转发 TCP 或 UDP 流量,不会解析应用层协议数据。 相比七层代理(如 HTT

刘宇帅 3131 0
查看全文
Nginx 1年前

Nginx 反向代理常见问题汇总与解决方案

在使用 Nginx 做反向代理时,经常会遇到一些看似莫名其妙的问题,比如返回 502 错误、路径出错、真实 IP 丢失等等。本文总结了开发和部署中最常见的 Nginx 反向代理问题,并给出对应的排查和解决方案,帮助你快速定位和修复问题。 目录 一、502 Bad Gateway 二、路径拼接异常 三、获取不到真实客户端-IP 四、跨域请求失败 五、WebSocket 无法正常工作 六、请求体过大导致-413-错误 七、反向代理跳转失效 八、HTTPS-代理配置问题 九、文件下载异常或中断 十、缓存未生效或生效异常 总结 一、502 Bad Gateway 这个错误意味着 Nginx 无法成

刘宇帅 4255 0
查看全文
Nginx 1年前

Nginx 反向代理详解:原理、配置与实战

Nginx 是目前最流行的 Web 服务器之一,因其高性能和高并发能力,被广泛用于反向代理、负载均衡、动静分离等场景。本文将重点讲解 Nginx 的反向代理功能,从原理到配置,再到实际场景,帮你全面理解并掌握这一强大功能。 目录 一、什么是反向代理? 二、Nginx 反向代理的优势 三、基本配置 四、常见实战场景 1. 端口转发 2. 多路径代理 3. HTTPS 代理 4. 动静分离 五、进阶技巧 ✅ 路径拼接注意事项 ✅ 设置超时防止长时间阻塞 ✅ 使用 upstream 实现负载均衡 六、常见问题排查 七、总结 一、什么是反向代理? 在计算

刘宇帅 2354 0
查看全文
仓颉 1年前

仓颉编程语言常见问题

仓颉语言现状 仓颉目前还没发布稳定版本,对外开发了Beta版本目前是0.53.13版本,可以申请加入内测版本,目前内测版本为0.56.4版本(更新于2024年11月5号)。内测申请通过后,会收到官方的邮件,邮件里内测相关资料的说明和链接。不过目前看测试了下内测版本的SDK,问题比较多,还是尽量用Beta版本吧。 版本信息及内测申请见 https://cangjie-lang.cn/download 仓颉可以在哪些平台运行 仓颉目标是可以全平台运行,目前发布的Bata和内测版本可以再Linux、Windows以及Mac运行,另外可以单独申请HarmonyOS NEXT仓颉语言开发者预览版。 Ha

刘宇帅 3373 0
查看全文
仓颉 1年前

仓颉编程语言入门

什么是仓颉编程语言 仓颉编程语言是由华为开发的国产编程语言,是一种面向全场景应用开发的通用编程语言,可以兼顾开发效率和运行性能,并提供良好的编程体验。 环境安装 MAC下安装环境 第一步:下载仓颉SDK,链接:https://cangjie-lang.cn/download/0.53.13 第二步:解压压缩包,把文件放到合适目录 第三步:进入`cangjie`目录执行 `source cangjie/envsetup.sh` 第四步:把`cangjie`bin目录添加到PATH,`${yourCangjiePath}/bin``${yourCangjiePath}/tools/bin` 执行

刘宇帅 2591 0
查看全文
工具 1年前

Git 根据目录设置多个账号的方法

在 Git 中根据目录设置多个账号的方法 在开发过程中,您可能需要在不同的项目中使用不同的 Git 账号,例如个人账号和工作账号。为了实现这一目标,您可以根据项目目录配置不同的 Git 账号。以下是几种常见的方法,帮助您在 Git 中根据目录设置多个账号。 方法一:使用多个 SSH 密钥和 SSH 配置 这是最常用的方法,适用于使用 SSH 进行 Git 操作(如 GitHub、GitLab 等)。通过为每个账号生成不同的 SSH 密钥,并在 SSH 配置文件中进行相应配置,您可以轻松地在不同项目中使用不同的 Git 账号。 步骤 1:生成多个 SSH 密钥 首先,为每个 Git 账号生成一

刘宇帅 3071 0
查看全文
.NET 1年前

Avalonia源码学习(一)

Mac上启动项目 git clone https://github.com/AvaloniaUI/Avalonia.git cd Avalonia git submodule update --init --recursive ./build.sh CompileNative 执行./build.sh CompileNative可能汇报如下错误 12:45:12 [ERR] xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/Comm

刘宇帅 2662 0
查看全文
120个人生目标 1年前

完成我的第10个人生目标

两年前我读完《吸引力法则》这本书,深有感触,其中提到的给自己定101个目标挺有意思的,所以我也给自己定了120个人生目标。这两年我一直在为实现这120个人生目标努力着,目前完成了我的第十个人生目标-我要骑行400公里 。 为什么要定这个目标 我虽然从小在农村长大,但其实我从小就没有做过太多的体力活,也很少参加体育运动,所以一直以来体力都比较差。尤其是工作这9年,大量的时间都投入在工作中,又不注意饮食,体重直线上升到了200多斤,身体素质下降很严重。所以我就想要找一个有趣又不枯燥的运动来增强一下体力,然后身边有一些人在骑行,再加上我觉得自己需要多出去逛逛,所以就选择了骑行。(当然我的体重已经在我

刘宇帅 4417 0
查看全文