三 文章首页 实时留言 网络邻居 开往 虫洞
返回
让服务在非 Root 权限下使用 80 或 443 端口

有段时间自己写 web server 的时候考虑到想直接绑定 80 和 443 端口,但默认情况下 Linux 只有 root 用户或经过提权才能绑定 1024 以下的端口(如 80、443)。此时如果既不想用特权用户权限跑某个服务(避免安全问题),也想使用这些端口,那就需要一些配置。 ### 方法 1:iptables 端口转发 --- 例子:将 80 端口流量转发到 8080 ``` sudo iptables -t nat -A PREROUTING -p tcp --dport 80...
2026-01-07 13:59:38
Linux
系统运维
AppImage 应用打包快速上手

Linux 有非常多的发行版,有太多不同的包管理方式,要接触非常多的打包方式,如 Debian (deb)、ReadHat 系列 (rpm)、Arch (pkg.tar.zst) 等..... 当然,还有一些容器方案像:Flatpak、Snap、玲珑 而 AppImage 呢,则非容器,而是将许多依赖包含在一个文件中,更像是一个经过压缩且便携式的可执行文件,可以随便挪动并使用,它会在第一次启动时候临时解压和挂载资源,所以启动时间稍微慢,但它有缓存机制,后续启动会加快。 既然它是非容器,那么...
2025-12-19 11:28:59
Linux
Flatpak 使用和应用打包快速上手

Flatpak,它是一种 Linux 跨发行版的通用软件包管理,使用沙箱隔离环境来运行程序,为了解决发行版应用分发碎片化、依赖冲突、权限管理混乱问题。开发者可以把应用统一封装成 flatpak 格式进行分发,这样就不用关心那些杂七杂八的问题,主要用于桌面应用(当然如果想打包 cli 也是可以的) ### Flatpak 的安装 --- 这里以 Debian 系为例。 ``` # Debian / Ubuntu sudo apt install flatpak ``` 添加 flathub ...
2025-11-26 12:51:46
Linux
容器
如何用 webSocket 实现一个实时聊天应用

有很多人好奇我站里的那个实时留言是怎么做的,在聊这个之前,我们得说说什么是 webSocket 协议,和 HTTP 的差异在哪里。 我们熟悉的 HTTP 一般是这样:客户端主动请求服务器、然后服务器接收到请求后被动响应给客户端。且属于短连接,几乎是请求响应后立即断开连接,每一次都是 `[客户端 => 服务端] 然后 [客户端 <= 服务端]` <img style="scale: 0.8;" src="/assets/webSocket_chat/http.svg"> 而 webSock...
2025-11-22 14:27:57
Web开发
Bun
Linux 内核编译 | 快速上手 | deb | rpm 构建

编译内核这件事可能让没接触过的人听起来很复杂,但实际上非常简单。首先前往 https://www.kernel.org/ 网站获取 Linux 内核源码,直接下载解压。 拿到源码后,先 cd 进源码目录,第一步是内核编译配置,一般可以使用 `make defconfig` 来生成当前架构的默认内核配置,再接着编辑源码目录下的 `.config` 文件(具体条目可查资料了解) 或 `make olddefconfig` 基于已有的 config (保留旧内核配置中仍有效的选项,去除已废弃的配置...
2025-11-10 17:42:29
Linux