NFS Server 搭建与配置

NFS(Network File System)是一种分布式文件系统协议,可以使计算机在网络中像访问本地文件一样访问远程文件。在Linux系统中,可以通过安装NFS服务端和配置NFS来实现共享存储。安装NFS服务端需要使用特定的命令,如在Debian系发行版中可以使用以下命令安装NFS:sudo apt install nfs-kernel-server。配置NFS需要编辑/etc/exports文件,指定共享路径、允许的主机和共享参数,如读写权限、同步写入等。编辑完成后,使用sudo exportfs -arv命令启动共享文件夹。管理NFS服务可以通过systemctl命令来查看状态、启动和重启NFS服务。连接NFS客户端需要安装NFS客户端并挂载NFS共享目录,最后可以进行测试以确保共享目录的正常使用.

My Linux Laptop Apps

这是一个关于我在 Linux 环境下使用的应用程序清单的简要记录。清单中包括了各种应用程序和插件,但不包括浏览器和集成开发环境(IDE)的扩展。 这些应用程序可以帮助我在 Linux 环境下进行开发、办公和日常使用。

我的 MacBook 配置记录

记录了 MacBook 的一些环境配置。包括使用 ClashX Pro 进行全局按规则分流,安装 Oh My Zsh 和 powerlevel10k 主题,以及使用 Homebrew 安装各种应用程序和工具。还包括配置 Rime 输入法和一些小技巧,如修改主机名、减少 Dock 栏动画响应时间和修改启动台行列数等。

eu.org 域名注册记录

eu.org 是一类免费域名,个人或非营利组织可以注册。注册流程包括:注册账号、申请域名、填写地址和联系信息、添加域名到 CloudFlare。在大陆使用时需要配合 HTTPS,并且在某些运营商下无法解析。

为什么 @Autowired 注解在 IDEA 中会有警告提示

在 IDEA 中,使用 @Autowired 注解会出现警告提示。这是由于最佳实践和设计原则导致的。字段注入方式虽然简洁方便,但存在一些问题,会增加应用程序与框架之间的紧耦合。为了消除警告,可以使用 @Resource 注解替换 @Autowired 注解。三种主要的依赖注入方式是:字段注入、构造函数注入和 Setter 方法注入。推荐使用构造函数注入,并可结合 lombok 来简化代码。

Nginx buffer 配置问题记录

最近在项目中遇到了一个问题:获取菜单树形结构数据的接口在初始时正常,过一段时间后就会出错。经过排查发现,这个问题和 Nginx 的 buffer 配置有关。Nginx 的 buffer 机制默认启用,它会将后端响应缓存在内存或磁盘上,然后再慢慢推送给客户端。但是如果后端响应较慢或数据量较大,同时缓冲区设置不足以容纳完整的响应数据,就会导致数据被截断。解决方法是调整 Nginx 的 buffer 配置,增加缓冲区的大小和数量,以及临时文件的写入大小和大小限制。此外,还可以调整超时设置。关闭 buffer 虽然可以解决问题,但不推荐,因为会影响到 Nginx 到后端的连接复用。

命令行快速登录有OTP二次验证的堡垒机/跳板机

该方法通过 Shell 脚本自动输入 TOTP 验证码,实现快速登录堡垒机。通过修改 SSH Config 文件和编写 Shell 脚本,可以在终端中直接通过命令登录到堡垒机,无需手动输入密码和二次验证码。这样可以大大提高登录的效率。但是需要注意的是,这种方法可能会牺牲一定的安全性,所以建议仅在个人可信环境下使用。

Drone CI 搭建记录

Drone 是一个轻量级、现代化的持续集成和持续交付平台。通过与 Docker 和 Kubernetes 集成,以及与主流的 Git 平台联动,Drone 可以实现自动化的构建、测试和部署工作流程。在搭建过程中,需要在 Git 平台上创建一个应用,并获取 Client ID 和 Client Secret,然后将这些信息配置到 Drone Server 和 Runner 中。Drone Server 负责接收和处理 CI/CD 任务,而 Drone Runner 负责在 Docker 容器中执行这些任务。在项目中,可以通过配置一个.drone.yml 文件来定义 Drone 的工作流程,包括构建、打包和部署等步骤。最后,通过 Drone Web 界面可以手动触发 Pipeline 或配置自动触发,监控任务的运行情况。通过这种方式,可以实现高效的 CI/CD 流程,提高开发效率。

使用 Helm 管理 K8s 集群中的应用

Helm 是一个 Kubernetes 的包管理工具,通过使用 Charts 描述 Kubernetes 资源的集合来管理和部署应用程序。Helm 3 相对于 Helm 2 提供了更好的安全性、稳定性和易用性。一个典型的 Chart 包含了部署一个应用所需的所有配置、依赖关系和相关资源。我们可以通过修改 Chart 中的配置文件和模板文件来自定义部署应用程序的方式。使用 Helm,我们可以轻松地管理和部署复杂的应用程序,并减少人工操作的错误和遗漏。我们可以通过编写脚本,从现有的 Kubernetes Deployment 配置中提取相应配置,并将其转换为 Helm Values 文件,从而实现自动化管理和部署。

Tailscale 配置 KDE Connect

Tailscale 是一款基于 WireGuard 的网络安全和隐私保护软件,能帮助我们将不同设备连接到同一个局域网内。使用 Tailscale 可以方便地配置连接 KDE Connect,使得不同设备在同一个网络下无缝连接,并实现剪贴板和通知的同步。另外,Tailscale 还提供了子网路由功能,可以通过已安装 Tailscale 的设备作为网关,将流量中继转发到目标 IP。配置过程简单,只需按照官网指引进行安装和设置即可。