← 教程目录 第 01 章 · 建站全流程

首页 › 建站教程 › 第 01 章

第 01 章 · 建站全流程

这一章是整套教程的主干:从一台什么都没有的服务器,做到一个能用 HTTPS 打开的网站。 全程 11 步,每步都写清"点哪里、看到什么算成功、出错了怎么办"。照着做,大约一到两个小时。

先看这条链路,全章都围绕它:
域名 →(DNS 翻译成 IP)→ 服务器 →(Nginx 按域名找到站点)→ 站点根目录里的 index.html →(浏览器渲染)→ 你看到的页面。

第 1~4 步在准备这条链路的两端,第 5~9 步把中间的环节搭好,第 10 步才是把内容放上去——很多教程恰恰漏了第 10 步,导致新手做完发现"网站是空白的"。

开始前:你需要的准备

要准备的说明
一台能上网的电脑Windows / Mac 都行,本章以 Windows 举例
手机用来做"真实环境"测试,很多问题只有手机会暴露
一个常用邮箱注册云厂商、域名商、接收续费提醒
支付方式国内平台可用微信/支付宝;海外域名商一般要银行卡或 PayPal
一个记事本用来记录:服务器 IP、SSH 密码、面板地址与账号密码、域名到期日。这些丢了会很麻烦

大概要花多少钱

项目参考价格说明
服务器每年几十到几百元看配置和机房,新用户活动价便宜,注意续费价
域名每年几十元同样是"首年便宜、续费是真实成本"
SSL 证书免费Let's Encrypt 免费证书,面板里一键申请
宝塔面板免费免费版对个人站完全够用

别贪便宜:不要买"永久服务器""终身套餐",也不要在价格低得离谱的地方买服务器。这类商家随时可能跑路,你的数据和网站会一起消失。选成立时间久、口碑可查的正规厂商。

全流程总览

步骤做什么在哪做做完的标志
1购买服务器云厂商控制台拿到 IP、root 密码、端口 22
2购买域名域名注册商域名到手,开了自动续费
3DNS 解析域名商 DNS 面板@ 和 www 都指向服务器 IP
4SSH 连接服务器FinalShell 等工具出现黑色的命令行窗口
5安装宝塔面板服务器上执行一行命令拿到面板地址、账号、密码
6放行端口云控制台 + 面板80、443、面板端口能访问
7安装运行环境面板 → 软件商店Nginx + PHP + 数据库装好
8添加站点并绑域名面板 → 网站访问域名能看到"站点创建成功"
9申请 SSL 证书面板 → 站点 → SSL地址栏出现小锁
10上传网站内容面板 → 文件管理访问域名看到你自己的网页
11备份 + 续费 + 安全面板 → 计划任务每天自动备份,日历里有到期提醒

第 1 步 · 购买服务器

服务器就是一台放在机房里、24 小时开机、能上网的电脑。你租它的使用权,按月或按年付费。它和你的家用电脑最大的区别是:它有一个固定的公网地址(IP),全世界都能访问到它。

1.1 选哪家

1.2 先决定机房位置(这一步决定了要不要备案)

机房位置要不要备案特点
中国大陆(北京/上海/广州等)必须备案国内访问最快,但备案要 7~20 天,且期间网站不能正常对外用 80/443 端口
香港 / 日本 / 新加坡不需要免备案、开通即用,国内访问速度尚可,个人站首选
美国等更远地区不需要便宜,但国内访问延迟高,适合面向海外访客的站

新手建议:不想折腾备案,就选香港或日本机房。想服务国内访客又追求速度,再考虑国内机房 + 备案。

1.3 配置怎么选

项目怎么选
CPU / 内存个人站、博客:2 核 2G 足够;要跑数据库+多个站点:2 核 4G
系统盘40~60G 起步,够用
带宽3M 左右即可。1M 大约每秒 128KB,传大文件会慢
流量注意有没有月流量上限,图片/视频多的话要留意
操作系统选 Debian 12(或 Ubuntu)。它占用小、命令简单、面板支持好。不要选 Windows 系统,那会额外收授权费而且不好用

1.4 付完款,立刻记下这 4 样东西

  1. 公网 IP(形如 123.45.67.89)——之后所有地方都要用它
  2. 用户名:一般是 root
  3. 密码:购买时设置的,或控制台"重置密码"里设置的。密码要复杂一点
  4. 端口:默认 22

把它们抄进记事本。以后忘了面板信息,也要靠这台服务器找回来。

购买后的第一件事:去控制台找"快照"功能,给服务器拍一张快照。快照等于给整台服务器拍照片,将来弄坏了能一键还原。这一步比后面很多步都重要。

第 2 步 · 购买域名

域名就是网站的"门牌号",比如 example.com。它是一串给人看的名字,服务器只认 IP,所以中间需要一个"翻译"的过程(第 3 步的 DNS)。

2.1 在哪买

类型举例特点
国内注册商腾讯云、阿里云、西部数码需要实名认证;如果服务器也要备案,在同一家买会省事
海外注册商NameSilo、Namecheap、Porkbun免实名、送隐私保护;但可能不支持国内支付方式

2.2 后缀怎么选

2.3 一定要看懂"两个价格"

价格含义
新购价第一次买(或转入)时的优惠价,通常很便宜,只第一年有效
续费价第二年及以后每年都要付的价格,这个才是你的真实成本,各平台差别不大

买完必做两件事:① 打开自动续费;② 把到期日期抄进记事本并加进手机日历。
域名一旦过期,别管服务器多正常,网站都会打不开。

第 3 步 · DNS 解析:把域名指向服务器

DNS 解析就是给域名写一条"翻译规则":访问这个名字时,请去找这个 IP。这条规则叫 A 记录。

3.1 要加两条记录

主机记录类型记录值结果
@(代表裸域名)A你的服务器 IP让 example.com 能打开
wwwA你的服务器 IP让 www.example.com 能打开

两条都要加!很多新手只加了 www,结果别人输入不带 www 的网址就报 404。
反过来,就算 DNS 都解析了,如果面板里的站点只绑定了 www.example.com,不带 www 照样打不开——DNS 和站点绑定是两件事,两边都要配对。

3.2 在哪里加

3.3 TTL 是什么

TTL 是"这条解析能被别人缓存多久"(单位秒)。默认值(如 600 或 3600)不用改。TTL 越小,改了之后生效越快,但查询更频繁。刚开始可以设小一点,稳定后改大。

3.4 怎么验证解析生效了

在 Windows 的 PowerShell 或 CMD 里执行:

nslookup 你的域名
nslookup www.你的域名

两条命令都应该返回你的服务器 IP。如果返回的是别的 IP 或"找不到",说明记录没生效或写错了。

解析不会立刻全网生效,一般几分钟到几小时(取决于 TTL 和各地运营商的缓存)。改完别反复改来改去,等一会儿再测。国内域名通常生效更快。

第 4 步 · 用 SSH 连上服务器

服务器没有显示器,你要靠命令行远程操作它。SSH 就是"远程登录服务器的通道",常见的工具有 FinalShell、Xshell、electerm 等。本章用 FinalShell 举例,它免费、中文、还带文件管理。

4.1 新建连接,填四个字段

字段填什么
名称随便起,比如"我的第一台服务器"
主机你的服务器公网 IP
端口22(除非你改过)
用户名 / 密码root / 你设置的服务器密码

4.2 连上之后你会看到

一个黑色窗口,里面有一行提示符,形如:

root@你的主机名:~#

看到这个就说明连上了。这时候你敲的每条命令,都会在这台服务器上执行。

4.3 连不上怎么办

报错最可能的原因怎么处理
Authentication failed / 密码错误密码不对去云控制台"重置密码",重启服务器后再连
Connection timed out / 连接超时22 端口没放行去云控制台安全组里放行 22 端口
Connection refused服务器没开机,或 SSH 服务没运行控制台看运行状态,用网页版 VNC 登录检查
能连上但输密码没反应终端不显示密码是正常的直接输入,然后回车

第 5 步 · 安装宝塔面板

纯命令行对新手不友好。宝塔面板是一个网页版的管理后台:装完之后,你在浏览器里点鼠标就能建站、传文件、配 SSL、看监控。

5.1 一行命令装好

在刚刚的黑色终端里,粘贴执行(Debian / Ubuntu 系统):

wget -O install.sh https://download.bt.cn/install/install_panel.sh && bash install.sh ed8484bec

中途会问你要不要安装到 /www 目录,输入 y 回车。这里千万别按 Ctrl+C 中断,否则安装会半途而废。安装要几分钟,期间不要关窗口。

如果安装过程被中断,很可能出现"面板装了一半"的状态:命令行里能用 bt,但网页打不开面板。这时重新完整跑一遍上面的命令即可,不要慌。

5.2 装完立刻抄下三样东西

终端最后会打印类似下面的信息:

外网面板地址: https://你的服务器IP:8888/一串随机字符
username: 随机用户名
password: 随机密码

立刻截图或抄进记事本!这三样东西以后很难再猜出来(不过忘了也能找回来,见 5.4)。

5.3 登录面板

浏览器打开那个"外网面板地址"。如果提示证书不安全(因为面板用的是自签证书),点"高级 → 继续访问"即可,这是正常的。

5.4 忘记面板地址/账号/密码怎么办

用 FinalShell 连上服务器,输入:

bt

会出来一个菜单,常用的是:

命令作用
bt default显示面板地址、用户名、密码(最常用)
bt 1重启面板
bt 5修改面板密码
bt 6修改面板用户名
bt 8修改面板端口
bt 16修复面板
bt 22查看面板错误日志

第 6 步 · 放行端口

服务器上有很多"门",叫端口。默认情况下大多数门是关着的,你要主动把需要的那几扇门打开,外面才能访问。

6.1 需要放行哪些端口

端口用途要不要对外开放
22SSH 远程登录要(最好限制成只允许你的 IP)
80网站 HTTP要(所有人都要能访问)
443网站 HTTPS要(所有人都要能访问)
8888(或你改的端口)宝塔面板最好只允许你自己的 IP

不要"全部端口开放"!很多教程会让你选"全部 TCP",这等于把服务器所有门都敞开,会持续被扫描和爆破。只开上面这几个就够。

6.2 在哪里放行

  1. 云厂商的安全组(最外层):控制台 → 你的服务器 → 安全组/防火墙 → 添加入站规则,放行 80、443、面板端口
  2. 系统防火墙(服务器内层):面板 → 安全,检查放行端口;或在终端里用 ufw 配置

两层都要通。有些"打不开"其实是云安全组没放行,有些是系统防火墙没放行。

第 7 步 · 安装网站运行环境

把服务器想象成一家餐厅:

角色对应软件作用
门口接待员Nginx接收访客请求,把网页文件发回去
厨师PHP需要"现场做菜"时才用:动态页面、留言板、WordPress 都靠它
仓库MySQL / MariaDB存放数据:文章、用户、评论

7.1 在面板里安装

  1. 面板 → 软件商店
  2. 搜索并安装 Nginx(选稳定版即可)
  3. 安装 MySQL 8.0 或 MariaDB 10.11(本章推荐)
  4. 安装 PHP 8.1 或 8.2(纯静态站可以先不装,但装了以后能跑留言板/博客)
  5. 等待安装完成(几分钟到十几分钟,看机器性能)

版本提醒:网上很多老教程让你装 PHP 7.4 + MySQL 5.7。这两个版本都已经停止安全维护了(PHP 7.4 于 2022 年底、MySQL 5.7 于 2025 年底),继续用会有安全风险。新装环境请选 PHP 8.1/8.2 + MySQL 8.0(或 MariaDB 10.11)。

7.2 编译安装还是极速安装

面板会给你两个选项:极速安装快(几分钟),编译安装慢(半小时以上)但性能略好、更可控。个人站选极速安装就行。

第 8 步 · 创建站点并绑定域名

操作步骤

  1. 面板 → 左侧 网站 → 点 添加站点
  2. 域名:一行一个,两条都填 —— 你的域名 和 www.你的域名
  3. 根目录:保持默认(一般是 /www/wwwroot/你的域名)
  4. FTP:不创建(用面板的文件管理更方便)
  5. 数据库:纯静态站选"不创建";要装 WordPress 就选 MySQL,记下库名和密码
  6. PHP 版本:纯静态页选"纯静态";要用 PHP 就选 8.1/8.2
  7. 提交

8.1 现在访问你的域名,会看到什么

面板会自动在根目录放一个 index.html,内容是"恭喜,站点创建成功!这是默认 index.html,本页面由系统自动生成"。

看到这句话是好事,不是坏事。它证明:DNS 解析对了、服务器通了、Nginx 正常、站点绑定成功了——整条链路都通了,只差你把自己的网页放进去(第 10 步)。

8.2 如果这一步打不开

现象先检查什么
404 Not Found① 域名是不是没绑到站点里?② 根目录里有没有 index.html?
一直转圈/超时80 端口没放行(云安全组 / 系统防火墙)
不带 www 打不开,带 www 正常站点"域名管理"里没加裸域名,或者 DNS 缺 @ 记录

第 9 步 · 申请 SSL 证书(HTTPS)

HTTP 是明文传输,HTTPS 是加密传输。现在浏览器对 HTTP 网站会标"不安全",所以一定要上 HTTPS。证书由 Let's Encrypt 免费提供,面板里一键申请。

操作步骤

  1. 面板 → 网站 → 点你的站点 → SSL
  2. 选择 Let's Encrypt,勾选你的两个域名(裸域名 + www)
  3. 点申请,等十几秒
  4. 申请成功后,打开 强制 HTTPS(访客用 http 访问时自动跳到 https)
  5. 确认 自动续签已开启(免费证书 90 天有效期,到期前会自动续)

申请失败最常见的原因是:域名没有正确解析到这台服务器,或者 80 端口没放行(证书验证要通过 80 端口)。先把这两件事确认好再申请。

申请成功后,浏览器地址栏会出现小锁,点开能看到证书是谁签发的、什么时候到期。

第 10 步 · 上传网站内容(最关键的一步)

这一步是最多教程漏掉、最多新手卡住的地方。
"添加站点"只是在服务器上建了一个空文件夹并放了一张默认页。真正的网站 = 你自己放进那个文件夹里的网页文件。

10.1 你要放进去的是什么

最简单的网站就是一个文件:index.html。它必须在站点根目录的第一层:

/www/wwwroot/你的域名/
├── index.html      ← 首页,必须有,且必须在这一层
├── style.css       ← 样式(可选)
├── images/         ← 图片文件夹(可选)
└── 404.html        ← 出错页面(可选)

常见错误:把整个文件夹传上去,变成 /www/wwwroot/你的域名/我的网站/index.html。多套了一层目录,浏览器在根目录找不到 index.html,就会 404。正确做法是把文件本身传进根目录。

10.2 三种上传方式

方式怎么做适合
面板文件管理(推荐)网站 → 点站点 → 根目录 → 文件管理 → 上传;或先右键把旧的 index.html 重命名为 index-old.html 备份文件不多,最直观
拖拽上传用 SSH 工具(如 FinalShell)连上服务器,在下方文件树里进入根目录,把文件从 Windows 拖进去文件较多
FTP面板 → FTP 建账号 → 用 FileZilla 连接上传习惯 FTP 的人

10.3 上传后怎么验证

  1. 浏览器打开 https://你的域名
  2. 按 Ctrl + F5 强制刷新(普通刷新可能读的是缓存)
  3. 看到你自己的网页 → 成功
  4. 用手机流量(不要连 WiFi)再打开一次,确认外网也能访问

第 11 步 · 收尾:备份、续费、安全

11.1 配一个每天自动备份

  1. 面板 → 计划任务 → 添加任务
  2. 任务类型:备份网站(有数据库的话再加一条备份数据库)
  3. 执行周期:每天,凌晨执行
  4. 保留份数:7 份
  5. 保存后,点"执行"手动跑一次,确认真的生成了备份文件

再定期把备份下载一份到本地。备份放在同一台服务器上,服务器挂了就一起没了。

11.2 设置到期提醒

11.3 安全检查清单

检查项合格的标志
安全组只放行 22 / 80 / 443 / 面板端口,没有"全部开放"
面板访问改过默认端口、设了安全入口、限制了登录 IP
SSH密码足够复杂;进阶:改成密钥登录、关闭密码登录
HTTPS强制 HTTPS 已开,自动续签已开
备份每天自动备份 + 偶尔下载到本地
软件版本PHP 8.1+、数据库 8.0+,不用已停止维护的老版本

全流程勾选清单

打印或抄下来,做一步勾一步:

新手最常问的 6 个问题

1. 网站做好了,别人怎么访问?

把域名发给他就行(建议用带 https 和 www 的完整写法)。不需要给他服务器 IP 或面板地址——面板地址属于你自己的后台,不要给别人。

2. 为什么我改了网页,域名上没变化?

按顺序排除:① 你改的是本地文件,没上传到服务器(最常见);② 浏览器缓存,按 Ctrl+F5;③ 传到别的目录去了。

3. 面板地址能告诉别人吗?

不能。面板 = 你服务器的总控台,别人进去就等于拿到了服务器的控制权。要给别人看,只给域名。

4. 服务器和域名哪个先过期会怎样?

任意一个过期,网站都会打不开。两个都要单独续费,别以为买了域名就万事大吉。

5. 一定要用宝塔面板吗?

不一定,也有 1Panel、AMH、aapanel 等。但宝塔中文资料多、界面符合国人习惯,新手用它最省事。

6. 我想做博客,也要从这一步开始吗?

是的,前面 9 步都一样。到第 10 步时,把"上传 index.html"换成"上传 WordPress 程序并安装"即可,详见第 04 章和官方文档。

这一章的三句话总结:

① 域名和服务器是两样东西,都要买、都要续费,靠 DNS 把它们连起来。

② 面板只是管理工具,"添加站点"只是建了个空文件夹。

③ 真正让网站出现的,是你把 index.html 上传到站点根目录那一步。

← 教程目录 第 02 章:名词与原理 →