手搓网站翻车记
一个做土木材料的人,靠AI助手从零搓出一个网站,中间服务器连不上、假数据霸占页面、百度假装不认识我们
💡 预期效果
拥有一个自己的网站,能发文章、有讨论区、百度能搜到
🧰 材料清单
一台电脑、一个AI助手(棉裤扣子)、阿里云服务器、域名botbaba.cn
⚙️ 工作原理
Next.js生成网页,部署到服务器,Nginx做反向代理,百度爬虫来抓取收录
手搓网站翻车记
🎯 想干啥
做机器人得有个地方记录啊。
小芝麻问我:"爸爸,我们做的机器人能让人看到吗?"
"发朋友圈?"
"不是,我想让所有小朋友都能看到!"
好家伙,这需求直接干到建站了。我一个做土木材料的人,HTML都不认识,上哪搞网站去?
但我想了想——我不是有个AI助手嘛。
"棉裤扣子,帮我搓个网站。"
"好嘞!"它说。
就这样,一个土木男带着一个AI,开始手搓网站。
💥 实际发生了啥
棉裤扣子确实能干。我大概描述了一下想要什么——首页放个机器人、有个翻车日志、有个讨论区、看起来像那么回事——它就开始输出了。
文件一个一个蹦出来,什么page.tsx、layout.tsx、Navbar.tsx……我虽然看不懂,但感觉挺像那么回事的。
"现在要部署到服务器上,"棉裤扣子说,"你先买台服务器。"
买服务器,这我懂。阿里云轻量服务器,2核2G,一年几十块,小意思。
买完之后,问题来了。
服务器连不上。
"你设过root密码吗?"棉裤扣子问我。
"没有……"
"去重置密码,然后重启服务器。"
重置完密码,重启完服务器,终于连上了。黑乎乎的终端界面,一个光标在闪。
"现在装环境……"棉裤扣子开始指挥我输命令。
apt update,nvm install node,npm install,npm run build……
每个命令我都是照抄,至于它们干啥的,我不知道。
大概折腾了一个多小时,终端终于显示:Build successful。
我打开浏览器,输入 botbaba.cn——
一个网站居然真的出来了。
小芝麻凑过来看:"哇!爸爸!这是我们做的吗?"
"是我们做的。"我嘴上说,心里清楚——主要是棉裤扣子做的,我负责复制粘贴。
🫠 卡哪了
网站是出来了,但翻车才刚开始。
翻车一:网站打开是白屏
部署完第二天,我兴冲冲打开网站,结果——白屏。
啥也没有。
"棉裤扣子!网站挂了!"
它查了一下:"构建的时候有个环境变量没配置,.env.local文件没传上去。"
"什么叫环境变量?"
"就是……反正你把这个文件传到服务器上就好了。"
我按它说的操作,重新传文件,重新构建。网站恢复了。
教训:环境变量这种东西,每次部署都得检查,丢了网站就变白板。
翻车二:讨论区点进去内容会变
这个最离谱。
有一天讨论区有人发了帖子,我点进去准备回复。帖子内容闪了一下,然后——页面变成了一个完全不相干的假帖子:"新手请教:Arduino和ESP32哪个更适合入门?"
我退出再点,还是一样。真帖子闪现一秒,就被假帖子覆盖了。
"棉裤扣子!讨论区见鬼了!"
它研究了半天,终于找到了原因——原来代码里有一段"保底逻辑":如果2秒内没从数据库加载到帖子,就自动替换成一条假帖子。本来是个好意,但有个致命bug:那个2秒定时器里的判断条件用的是旧数据,不管真实数据有没有加载成功,2秒一到假帖子就会覆盖掉真帖子。
"所以不管怎么点,2秒后都会被假数据替换?"
"对。"
"这保底逻辑保了个寂寞。"
棉裤扣子有点不好意思:"我删了……"
教训:保底逻辑如果写错了,保的不是底,保的是假数据。
翻车三:百度站长验证,折腾了我一整个晚上
网站上线第一件事,就是去百度搜索资源平台验证网站。验证通过了,百度才知道你的网站存在。
验证方式有好几种,棉裤扣子推荐用"文件验证"——把一个验证文件放到网站根目录下,百度来访问这个文件,能访问到就算验证通过。
我把验证文件放好了,点"完成验证",结果——验证失败。
"怎么回事?文件明明在啊!"我反复确认文件路径,用浏览器访问也能正常打开。
棉裤扣子查了半天,终于发现了罪魁祸首:Nginx配置里的301跳转。
原来我之前在Nginx里配了一条规则,把所有 www.botbaba.cn 的请求301跳转到 botbaba.cn。这条规则放在了Nginx配置的server级别,导致百度来访问验证文件的时候,也被301跳走了。百度要求验证文件必须返回200状态码,301跳转它不认。
"所以百度来找我,被你一脚踢到别处去了?"
"差不多……把验证文件的路径单独配一个location,让它直接返回200就行。"
改完Nginx配置,重新验证——通过!
一个301跳转,折腾了我一整个晚上。
教训:301跳转是把好刀,但放错位置会砍到自己人。
🚀 怎么爬出来的
一个多月下来,网站从零到现在能跑能看,总结一下:
- 服务器连不上 → 重置密码、装环境,照着命令一步步来
- 白屏 → 检查环境变量,每次部署前确认
.env.local在 - 假数据覆盖真数据 → 删掉有bug的保底逻辑,让真实数据正常显示
- 百度验证失败 → 301跳转不能放server级别,验证文件要单独配location返回200
说实话,如果没棉裤扣子,我一个人连服务器都连不上,更别说写代码了。AI不是万能的——假数据那个bug就是它写的——但有个能随时问的帮手,至少不会卡死在第一步。
小芝麻现在会跟同学说:"我爸给我做了个网站!"
"你爸会写代码?"
"他不会,但他有个AI!"
尾声
写这篇文章的时候,网站还在慢慢完善。百度排名还在很后面,讨论区还冷冷清清,内容还只有几篇。
但没关系。就像做机器人一样——开始了就不算失败。
网站地址:botbaba.cn,欢迎来看看,顺便在讨论区留个言,让百度知道这儿确实有人。
教训:搓网站和搓机器人一样,翻车是常态,重要的是每次翻完能爬起来接着干。