近期文章

为什么不要一直用 root 登录服务器?

这是「把自己部署到互联网上」系列的第 12 篇。

上一篇我写到,买完服务器后,我没有急着部署项目,而是先处理基础安全。原因很简单:这台机器以后会长期暴露在公网,不是本地开发环境,也不是一次性测试机。如果一开始只图快,很容易把风险留到后面。

这一篇先处理最基础的一步:不要一直用 root 登录服务器。

很多云服务器创建实例后,会默认提供 root 登录。root 很方便,权限最大,想装软件、改配置、删文件都可以。但正因为它太方便,所以不适合作为日常维护用户。

长期使用 root 用户,会有什么问题

root 是 Linux 系统里的超级管理员,几乎可以做任何事。初始化服务器时,它确实省事;...

买完服务器后,我做的第一件事不是部署项目

这是「把自己部署到互联网上」系列的第 11 篇。

前面几篇,我把个人博客上线前最开始的一段路走完了:为什么要做个人博客,为什么要建设技术品牌,服务器怎么买,域名怎么选,备案怎么填,以及备案过程中容易遇到哪些问题。

到这里,博客入口已经有了轮廓:服务器有了,域名有了,备案也开始进入流程。按理说,下一步最让人兴奋的事,就是赶紧把博客部署上去。拉代码,装环境,启动服务,配端口,打开浏览器,看见页面能通过公网访问。

但我第一次连上服务器后,没有马上部署项目,而是先停下来想了一件事:这台机器以后会长期暴露在公网,不能一上来就把项目往上扔。

买完服务器后,云平台会给我们一个公网 IP。第一次买属于自...

踩坑实录 2026-07-22

一次 xxxCMS 被黑实录:从 66 字节 WebShell 到隐藏在 PNG 里的后门

背景

最近阿里云推送了一个紧急高危漏洞安全告警,发现一个可疑木马文件:

20260721140850268

点击详情,如下图可查看具体的信息

20260721140949593

排查并修复

一、确认文件木马文件是否存在

先找到对应目录,查看文件状态:

sudo stat /www/xxx/xxx/core/template/bzze4ztt.php

输出显示:

File: /www/xxx/xxx/core/template/bzze4ztt.php
Size: 66
Uid: www
Gid: www
Access: 2026-07-18 11:34:30
Modify: 2026-07-08 03:19:05
Birth: 2026-07-08...

从想法到备案,我终于把个人博客的入口层打通了

这是「把自己部署到互联网上」系列的第 9 篇。

从第 1 篇到第 8 篇,这个系列完成了第一小段:从“我想做个人博客”,走到“个人博客的入口层基本成形”。

到现在为止,我还没有真正部署博客,也没有写 Docker Compose,没有配 Nginx,更没有上 HTTPS。如果只看可访问页面,好像还没有产出什么结果。但这一段并不是空转,它解决的是博客上线前最前置的问题:为什么要做?要做成什么?放在哪里?别人通过什么地址访问?这个网站由谁负责?

这些问题如果一开始没想清楚,后面的服务器安全、部署、证书、对象存储都会变成零散操作。所以这篇不讲新技术,做一次阶段复盘。

一开始,我只是想写一个程序...

ICP 备案到底怎么填,才不容易被驳回?

这是「把自己部署到互联网上」系列的第 8 篇。

上一篇讲了域名实名认证、ICP备案和 DNS 解析的关系:实名认证确认域名归属,ICP备案确认网站责任和接入信息,DNS 解析决定访问请求去哪里。三者都和域名有关,但不是一回事。

这一篇进入更具体的问题:ICP备案怎么填,才不容易被驳回?

先说边界。备案规则会受主体类型、所在省份、接入商、云厂商流程和网站内容影响,平台页面也可能变化。所以这篇不是详细说明书,也不是万能模板。真正提交时,一定要以接入服务商和工信部备案系统的最新要求为准。

备案流程

我的服务器从火山引擎买的,所以使用火山的备案,大家自由选择

官方备案文档

  1. 备案申请

企业备案...

域名实名认证、备案、解析,这三件事到底是什么关系?

这是「把自己部署到互联网上」系列的第 7 篇。

上一篇写完买域名后,我很快遇到三个词:域名实名认证、ICP备案、DNS 解析。它们经常出现在同一个云平台控制台里,也都发生在网站上线前后,所以第一次建站时很容易混在一起。

我一开始也有类似疑问:域名已经买了,为什么还要实名认证?实名认证完成后,为什么还要备案?备案通过了,为什么还要解析?解析是不是备案的一部分?备案是不是买域名时自动完成?

先给一个简单结论:

  • 域名实名认证确认域名属于谁;
  • ICP备案确认网站由谁负责、接入在哪里;
  • DNS 解析决定访问这个域名时,请求应该去哪里。
  • 三件事都和域名有关,但解决的问题完全不同。

为什么它们容易...

买域名那天,我第一次认真规划了自己的未来

这是「把自己部署到互联网上」系列的第 6 篇。

前面两篇,我先买了一台云服务器,又重新想了一遍服务器的后续维护成本。如果说服务器解决的是“内容和项目放在哪里”,那么域名解决的就是另一个问题:别人以后通过什么名字找到你。

从流程上看,买域名并不复杂。

购买

在阿里云(万网平台)购买域名

阿里云万网官方

万网平台

在购买域名的时候,需要登录阿里云账户,登录之后,进行一个域名搜索,

域名搜索

查询之后,就可以看到域名是否允许购买,同时也会出现购买的价格。一些好的域名容易被人抢注,有些企业为了出现被人抢注的情况,企业也会把不同后缀的域名一块注册,方便企业发展。比如 baidu 这个域名。

域名搜索

输入自己想要的域名,...

踩坑实录 2026-07-07

旧音频文件批量统一码率和采样率

背景

这次处理的是一批已经在线上生成过的游戏音频。之前有些音频的采样率、码率不统一,后续播放和资源管理都不太方便,所以补了一个离线脚本,用来把旧的 .mp3 文件统一转换成当前标准格式。

目标格式是:

采样率:44100Hz
码率:128k
格式:mp3

脚本只处理音频内容,不改文件名,也不改目录结构。

比如原文件是:

prod_game\503\xxx\503_xxx.mp3

转换后仍然是:

prod_game\503\xxx\503_xxx.mp3

只是文件内部的编码参数变成统一标准。

脚本位置

脚本放在后端项目里:

xxxxxxx-backend/scripts/nor...

程序员买服务器,最容易忽略的不是配置,而是后续维护成本

这是「把自己部署到互联网上」系列的第 5 篇。

上一篇我买下了一台云服务器,算是把个人博客从想法推到了实战。那台机器不是临时跑 Demo 的环境,而是我准备长期维护的个人技术阵地:先承载博客,后面再接入个人官网、作品站和一些小项目。

这篇继续聊买服务器,但不是写“云服务器选购指南”。真正开始做个人博客后,我越来越觉得,买服务器时最容易吸引人的通常是配置和价格:几核 CPU、几 GB 内存、多大硬盘、多少带宽、首年多少钱。可真正决定你能不能长期维护下去的,往往是后续成本。

服务器买下来只是开始,麻烦通常在后面慢慢出现。

买服务器很容易进入程序员熟悉的参数比较:CPU、内存、磁盘、带宽、系统...

从 0 到 1 搭建个人品牌基础设施,我先买了一台云服务器

这是「把自己部署到互联网上」系列的第4篇。前面几篇一直在聊“为什么”——为什么程序员还得有个个人博客,为什么做技术品牌,以及博客、作品站、官网这些到底什么区别。现在方向定下来了:先不搞大而全的个人官网,先把博客跑起来。

它得能写文章、能归档、能长期访问,后面还能再挂上作品站和个人品牌页。所以这篇开始动手,第一步——买云服务器。

为什么要买

说实话,如果只是为了写文章,真不一定要买服务器。公众号、掘金、知乎、语雀、Notion、GitHub Pages,哪个都能用。就算搭静态博客,也有不少托管平台,完全不用自己管机器。但我这次想从头到尾走一遍“从0到1把个人技术站点部署到公网”的完整流程,...

发现更多