1. 为什么“搭建网站”这件事,卡在服务器和域名上
如果你点开这篇文章,大概率已经看完了这个系列的第一篇,手头有了一个大概的网站构想,甚至本地已经跑过一个简单的页面。但问题来了:本地能打开,别人怎么访问?电脑一关,网站是不是就没了?这就引出了搭建网站的第二个关键环节——把网站放到一台24小时不停机的电脑上,再给它一个全世界唯一的名字。
这个系列的第二篇,我打算把“申请云服务器、域名”这件事从头到尾讲透。不是厂商帮助文档那种干巴巴的流程,而是带着“我当时是怎么犹豫的”“哪些坑我替你踩过了”这类真实视角,把选择配置、购买流程、域名注册、实名认证、域名解析、服务器初始安全这些环节,一次性讲清楚。
先说清楚一个底层逻辑。网站本质上是“程序+数据”的组合,它得运行在一台电脑上。你自己电脑当然行,但存在三个致命问题:第一,你的电脑不会7x24小时开机;第二,家庭宽带的上行带宽很小,别人访问你的网站会卡成幻灯片;第三,你家的IP地址是动态的,今天能用明天可能就变了,域名解析根本没法稳定绑定。
所以我们要做的,就是向云厂商租一台“永远在线”的服务器,再注册一个“好记且唯一”的域名,然后把两者通过解析关联起来。这篇文章适合两类人:一是完全没买过云服务器和域名的新手,需要我把每一步掰开揉碎;二是已经买过但想搞清楚“为什么要这么做”“配置怎么选更好”的进阶用户。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 云服务器选择:配置、带宽、机房到底怎么定
2.1 配置不是越高越好,按用途选才不浪费
很多第一次买服务器的人容易走极端,要么图便宜选最低配,结果过俩月性能不够又重装迁移;要么一上来就8核16G,花了大几百块,结果网站访问量每天只有几十个人,资源利用率常年不到10%。
我自己的建议是:个人博客、作品集展示站、企业官网这类轻量级网站,2核4G是目前性价比最高的起点。1核2G也能跑,但一旦你提交了表单、上传了图片、开启了HTTPS,再加上系统本身占用的内存,就有点捉襟见肘了。跑一个小型数据库(比如MySQL)没问题,但如果你后面要装Docker、跑多个容器,2核4G会更从容。
如果是电商网站、社区论坛、需要跑Java全家桶(Spring Boot + Redis + MQ这种)、或者打算做小程序后端接口,那建议直接上4核8G。别嫌贵,这就像装修房子,电路改造时多花几百块把线径升级,后面怎么折腾都不怕跳闸。
存储这块我多说一句。云厂商默认给的数据盘一般是40G到50G的SSD,对个人网站来说完全够用。除非你是做文件分享、图片素材站、或者要存大量用户上传的附件,否则不用额外加钱买大容量云盘。要注意的是,系统盘和数据盘是分开计费的,买的时候看清楚容量和类型。
2.2 带宽的三种方案,算清楚再下手
带宽的选择是新手最容易被绕晕的地方。云厂商给你三个选项:固定带宽、按量计费带宽、共享带宽。对个人网站来说,主要在前两者之间纠结。
固定带宽,比如1Mbps、3Mbps、5Mbps,价格和带宽数基本成正比。1Mbps听起来很可怜,实际峰值传输速度是128KB/s。什么意思呢?如果网页本身是200KB,那一个人打开需要大约1.6秒;如果100个人同时访问,那每个人都得排队。不过对个人博客来说,1M带宽带个几百人的日访问量是没什么压力的,毕竟大多数人打开页面一次就加载完了。
按量计费带宽,是按实际产生的流量来算钱,带宽上限可以设得比较高。这种方式的好处是“平时便宜,高峰不慌”,坏处是如果网站被恶意刷流量,或者你上传了一个热门视频,账单能让你肉疼。我见过一个小型论坛,某天被某个帖子带火,一天跑了200G流量,月租瞬间多了两三百块。
我的建议很简单:刚开始做,选择固定带宽3Mbps到5Mbps是最稳的。等你有了一定访问量,能估算出月均流量后再考虑是否切换到按量计费。另外,云厂商控制台都有“流量监控”功能,记得开启告警,一旦流量异常马上收到通知。
2.3 机房地域的选择,和备案直接挂钩
地域这一点很多人不重视,但它直接决定了两个事:访问速度和要不要备案。云厂商一般会提供大陆多地域(北京、上海、广州、成都等)、香港地区、海外地域(美西、新加坡、日本等)可选。
大陆机房的优势是访问速度快、稳定,网络质量好;代价是必须完成ICP备案(这个后面专门讲)。如果你做的是面向国内用户的网站,想都不用想,直接选大陆机房。
香港机房的优势是免备案,买完就能用,而且国内访问速度也算可以;缺点是线路高峰期会有波动,晚高峰丢包率高一点点。适合的人群是:因为各种原因不想备案、想快速上线的个人项目,或者网站内容需要临时部署验证的。
海外机房也不是不能选,但国内访问延迟较高,如果不是目标用户就在海外,不建议作为首选。不过境外服务器不需要备案这一点,对一些特殊用途确实是便利。
2.4 云厂商的选择与操作系统
阿里云、腾讯云、华为云这三家是目前国内最主流的,我都用过,其实大差不差。核心差别是:新用户优惠谁的力度大、你想要的地域谁有货、控制台哪个你觉得顺手。不用因为某个UP主推荐就全信,也不用对某个厂商有偏见。
我必须要提醒的是——续费价格。很多厂商新用户首购价低到离谱,比如2核4G一年只要几十块,但续费直接回到原价三四百。所以买之前去官网看一眼续费页,心里有数。如果你恰好是个节俭的人,可以关注厂商的“新老用户同价”活动或“包年包月折扣”,比自己每期用新账号掐羊毛靠谱得多。
操作系统这块,我个人推荐 Debian 12 或 Ubuntu 22.04 LTS。CentOS 7已经停止维护了,新买了服务器没必要再用一个“已退休”的系统。除非你的业务代码有特定的系统依赖,否则默认选Debian系就好,命令简单、资料多、遇到问题容易搜到答案。
3. 域名注册:起名、选后缀、实名认证与常见坑
3.1 一个好域名是怎么想出来的
域名是用户记住并访问你网站的方式。哪怕现在很多人习惯通过搜索进来,但一个短、好记、有意义的域名,依然是你品牌的底座。
起名的第一原则是短。中文拼音的域名尽量控制在10个字符以内,英文单词或组合词控制在15个以内。超过这个长度,别人根本记不住,传播效果大打折扣。第二原则是好拼。尽量避免数字和字母混在一起(比如d1y2z3这种),也尽量不用容易混淆的字符(比如l和1、o和0)。第三原则是有意义。可以是品牌名、团队名、产品名、你写的主题词,只要别人一看到这个域名就能联想到你的网站内容就行。
我个人不建议为了“看起来炫酷”去注册很多域名然后放着。域名是要持续缴费的,一个足够,最多备一个品牌保护的变体即可。
3.2 后缀怎么选:com、cn、net、org,还是小众后缀
域名后缀的选择直接影响两点:价格和用户信任度。截至我写这篇文章时,.com是最通用的商业后缀,价格一般在60到90元/年,贵是贵了点,但用户最认它,首选就是它。.cn是中国国家顶级域名,一般30到40元/年,但注册后必须实名认证,国内建站绕不开;它的缺点是对非国内用户来说,.cn的接受度不如.com。.net和**.org是老牌generic后缀,价格和.com差不多,但如果你不是网络服务商或非盈利组织,其实没必要用这两个。一些便宜的如.xyz**、.top首年只要几块钱,看着心动,但行业经验是:搜索引擎收录没问题,用户的信任度却会打折扣——一个正经品牌不会用一个接近免费的域名后缀做商业站点。
如果你的目标用户就是国内,首选.com,其次.cn;如果目标偏海外,只考虑.com。
3.3 注册流程和实名认证的时间线
注册域名很简单,流程和买一件物品一样:搜索可选域名、确认后缀和价格、填写注册信息、支付。注册信息里最重要的是域名持有者信息,个人注册填身份证姓名、身份证号、联系方式;企业注册填营业执照上的公司全称和统一社会信用代码。
在提交订单之后,有一个环节叫实名认证。所有境内注册商的域名,都必须完成实名后才能正常解析使用。个人实名方式是上传身份证正反面照片;企业实名是上传营业执照照片。一般提交后几分钟到几小时就通过了,也有个别1-2天才过的,取决于注册商审核队列。域名实名认证和ICP备案是两回事,别搞混——实名认证是证明域名归谁,备案是给网站“上户口”。
我见过不少人卡在这一步:买完域名发现不能解析,一问才知道没做实名。所以正确的操作顺序是:买完域名立刻提交实名材料,这个时间利用起来去装服务器,等两边都好了正好进行下一步。
3.4 域名的WHOIS隐私保护
很多人会担心,注册域名后自己的姓名、电话、邮箱会不会被公开?2018年之后,随着通用数据保护条例的落地和国内多项制度出台,主流注册商对普通用户默认屏蔽WHOIS中的注册人姓名、电话、邮箱、地址等个人信息,只保留DNS服务器、更新日期等必要信息。所以这一点大家不用太焦虑。另外,注册商和云解析服务商一般也会提供免费的隐私保护服务,有空打开就好。
4. 域名解析:让域名和服务器“接通”
4.1 DNS到底是怎么工作的
域名注册好了,服务器也买好了,但它们还是“两家人”。域名解析就是把这两个打通的关键一步。
打个比方,域名就像你朋友的姓名,服务器IP就像他家的经纬度坐标。你不能靠喊一声“老张我想上门做客”就直接出现,但你可以通过查他的地址册(相当于DNS服务器)找到经纬度,然后导航过去。DNS服务器就是全互联网的“地址簿”,它的核心作用是把人类可读的域名翻译成机器可读的IP地址。
你在云厂商控制台看到的“解析设置”,本质是在地址簿里添加一条记录,告诉全世界:访问这个域名的时候,请去这个IP。
4.2 添加A记录:最常见的解析配置
登录你的域名注册商(或你使用的云解析控制台),找到“域名解析”或“DNS管理”功能,点击“添加记录”,你会看到记录类型下拉框,里面有A、AAAA、CNAME、MX、TXT等。做网站最常用的是A记录,它的意思就是“将域名指向一个IPv4地址”。
例如你要让 example.com 和 www.example.com 都能访问你的服务器,就添加两条A记录:
- 主机记录:
@,记录类型:A,记录值:服务器外网IP - 主机记录:
www,记录类型:A,记录值:服务器外网IP
这里 @ 代表“不带任何前缀的根域名”。有同学不知道“记录值”填什么,就是你在云服务器控制台看到的公网IP,不是内网IP,也不是弹性公网IP的ID。填错一个字符都会解析失败。
4.3 TTL、解析生效时间和验证
TTL(Time To Live)表示这条DNS记录在本地DNS服务器上缓存多久,单位是秒。默认600秒(10分钟)就行,如果你刚配置好想尽快验证,可以临时改成60秒,等确认无误后再改回600秒。注意TTL不能设成0,否则你的域名会持续向后端解析系统发送请求,增加负载且没有意义。
解析配置不是“保存立即生效”,而是分区块传播的。你的云解析系统收到新记录后会同步到全国各地的DNS节点,这个过程通常1分钟到几小时不等;同时用户本地的电信/联通/移动DNS服务器也有自己的缓存,所以极端情况下最长可能等24小时。不过正常情况下,10分钟内就能ping通。
验证方法很简单,打开电脑终端输入:
bash复制ping example.com
如果返回的IP地址就是你服务器的公网IP,说明解析已经生效。如果显示“找不到主机”或者返回旧IP,就再等等,或者用 nslookup example.com 查看解析结果。
5. 服务器初始化:拿到手先做的四件安全事
域名解析完成后,按理说已经可以进入“安装网站运行环境”这个环节了。但我强烈建议先停一分钟,把服务器的初始安全做好。因为服务器一旦暴露在公网上,就会立刻被全网扫描器盯上,这是经验之谈,也是很多新手容易忽略的一步。
5.1 安全组:云平台的第一道门
在购买服务器时或购买后,云厂商会要求配置“安全组”,这相当于服务器的“防火门”,定义哪些端口对外开放、哪些端口禁止访问。默认情况下,只建议放行三个端口:
| 端口 | 用途 | 说明 |
|---|---|---|
| 22 | SSH远程登录 | 建议只开放给固定IP(如果有固定出口IP),否则先用密码连接后改用密钥 |
| 80 | HTTP访问 | 网站对外提供访问的默认端口 |
| 443 | HTTPS访问 | 开启了SSL证书后必须开放 |
其他的端口,比如3306(MySQL)、6379(Redis)、8080(Tomcat),一律关掉。如果需要远程管理数据库,也不要直接把3306暴露到公网,更好的做法是使用SSH隧道访问,或者只允许你的办公网IP连接。
我当年第一次买服务器,为了省事把安全组设成了“放行所有端口”,结果第二天就被人扫描出Redis端口并植入挖矿脚本,第三天收到云厂商的告警邮件。希望你不要亲自验证这个坑。
5.2 创建普通用户、配置密钥登录
拿到服务器后,默认你是用 root 用户登录的。root权限最大,也最危险——一旦密码泄露,整个服务器完全沦陷。更合理的做法是:创建一个普通用户,赋予 sudo 权限,日常用它登录操作,需要管理员权限时再临时提权。
以Debian/Ubuntu为例,登录服务器后执行:
bash复制# 添加新用户(替换 yourname 为实际用户名)
adduser yourname
# 将用户加入 sudo 组
usermod -aG sudo yourname
这样 yourname 就拥有了使用 sudo 执行管理员命令的能力,以后登录就用它而不是root。
然后配置SSH密钥登录。在本地电脑生成密钥对(如果还没有的话):
bash复制ssh-keygen -t ed25519 -C "你的备注"
把公钥内容上传到服务器(替换你的用户名和IP):
bash复制ssh-copy-id yourname@your_server_ip
这样下次登录就不需要密码了。之后建议编辑服务器上的 /etc/ssh/sshd_config,关闭root密码登录:
bash复制# 修改为 no
PermitRootLogin prohibit-password
PasswordAuthentication no
改完记得重启SSH服务:
bash复制sudo systemctl restart sshd
谨慎操作,先确认新用户能正常登录再关掉密码登录,不然容易把自己锁在外面。
5.3 系统更新与防火墙
新服务器装完系统后,第一步永远是更新软件源和系统软件包:
bash复制sudo apt update && sudo apt upgrade -y
这相当于给系统补上已知漏洞,别跳过。然后配置简单的防火墙,只允许必要端口:
bash复制# Debian/Ubuntu系列
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
当然,如果你已经设置了云平台安全组,本机防火墙属于第二道防线。两道防线都开是最好的,因为安全组的规则是云平台控制的,本机防火墙是系统控制的,就算换了网络环境,你的服务器本机也能自我保护。
5.4 绑定域名前的自测
在正式安装网站环境之前,先做一个简单测试:用浏览器访问 http://你的服务器公网IP,如果能看到云厂商默认的欢迎页,或者某个默认页面(比如Ubuntu的Apache测试页、Nginx的默认欢迎页),说明80端口已经通了,公网可以正常访问这台服务器。如果打不开,先检查安全组是否放行了80端口,再检查服务器本机防火墙是否拦截。
这一关过了,就说明“云服务器+域名”这套基础设施已经完整跑通。下一阶段就可以开始在服务器上安装Nginx、数据库、部署你的网站代码了。
6. 常见问题与避坑实录
6.1 为什么买了域名和服务器,网站还是打不开?
这个问题是新手问得最多的。根据我的排查经验,按可能性从高到低排列:
- 域名没有解析,或者解析还没生效。用刚才说的
ping命令验证一下。 - 安全组没放行80端口。很多云厂商默认安全组只放行了22端口,HTTP端口要手动加。
- 服务器上还没装Web服务(Nginx或Apache),或者服务没有启动。此时浏览器会显示“连接被拒绝”或“无法访问”。
- 域名没有完成实名认证,DNS服务被暂停解析,这种情况下
ping会直接显示无法解析。
6.2 为什么我的解析“明明添加了,就是不通”?
这类问题有80%出在记录值填错上。最常见的是填了内网IP(云服务器控制台会展示内网IP和外网IP两个地址,解析必须用外网IP),其次是主机记录填错,比如想让 www.example.com 生效却填了 wwwwww,这种低级错误也很常见。还有一种是使用了域名注册商和自己的云解析服务商两套解析系统,记录只添加到了其中一套,导致实际生效的DNS服务器上没有这条记录。建议把域名的DNS服务器统一修改到你希望使用的云解析服务商处,比如腾讯云域名用腾讯云解析、阿里云域名用阿里云解析,注意别混用。
6.3 备案和实名认证到底什么关系
很多新手的困惑来自这里。域名实名认证是域名注册商要求的,证明你是域名持有者,一般几小时内通过。ICP备案是网信部门要求的,为你的网站内容“上户口”,需要提交主体信息、网站信息、域名证书等,一般需要5-20个工作日(不同省份地区略有不同)。
如果你用的是大陆机房,必须先完成ICP备案,否则域名无法正常访问80/443端口。如果你的服务器在境外或港澳台地域,可以不备案就直接用。关于备案流程,建议在云厂商的“备案控制台”按引导操作,全程线上,不需要跑线下,这一点比早年方便太多了。
6.4 免费云服务器能不能用
网上有很多“免费云服务器”的推广,我劝大家擦亮眼睛。它们通常是三类:限时试用(1个月)、固定小配置(1核0.5G)、或要求按年付返还(变相锁定)。试用装来练手没问题,但正式上线不建议。如果确实想省钱,可以关注大厂的新用户“云服务器+域名”套餐,通常是同一个账号首年优惠组合,一年下来几十到一百多元,比单独买划算实在。
6.5 域名不小心注册了不想要的后缀怎么办
如果你已经买了一个不太合适的域名,先不急着再来一个。分两种情况:如果还没用于解析和建站,域名在注册后短期内(以注册商规则为准)可以申请删除并退款(前提是注册当天或宽限期内);如果已经开始使用才发现后缀不太理想,那就当作一个长期决策,建议重新注册一个真正合适的域名,并尽早把旧域名的解析切到新域名,避免用户记住了一个你又不打算长期用的地址。
备案、解析、域名转移这类流程本身就带着等待属性,急是急不来的。我做网站这些年,最深的体会是:基础设施的选择,决定了你后面所有折腾的天花板。服务器配置不够、域名起得随意、解析没有规划,这些问题越早解决,后续所有环节越顺利。这一篇的内容可能不够“炫”,但它就像盖房子的地基——你后面要装环境、部署代码、优化性能、接入HTTPS,全都要站在这个地基上。
按照这个系列的计划,下一篇就该正式进入服务器环境安装了:Nginx怎么装、数据库怎么选、怎么把本地写好的代码安全地传上去,让这个域名真正变成一个能打开访问的网站。到时候我们继续。
