# 建站小白教程：彻底搞懂"租服务器建网站"这件事

> 写给完全没接触过的人。读完你应该能回答："我的网站在哪？""为什么打不开？""我该点哪个按钮？"
> 配套文件：`宝塔建站完整笔记.md`（诊断+流程清单）、`网站修改与界面优化.md`（改页面用）

---

## 第 0 章　先建立全局认知（最重要的一章）

### 用"开一家实体店"来理解

| 现实中的店 | 网站里对应的东西 | 你的情况 |
|---|---|---|
| 店面/店铺 | **服务器**（一台 24 小时开机的电脑） | 腾讯云日本东京，`你的服务器IP` |
| 门牌地址 | **域名** | `你的域名` |
| 通讯录/导航（把店名翻译成地址） | **DNS 解析** | NameSilo 的 `dnsowl.com` |
| 店门口的接待员 | **Nginx**（Web 服务器软件） | 已装好在运行 |
| 货架上的商品 | **网站文件**（`index.html` 等） | ⚠️ **只有一张"装修中"的默认页，没上货** |
| 店铺的遥控器/管理后台 | **宝塔面板** | `http://你的服务器IP:8888` |
| 进店铺的钥匙 | **SSH**（远程登录服务器的通道） | FinalShell 里存着 |

**一句话：你租好了店面、挂好了招牌、请好了接待员，但货架上一直是空的。**

### 你访问 `www.你的域名` 时，背后发生了什么

```
① 你在浏览器输入 www.你的域名
        ↓
② 电脑问 DNS："这个域名对应哪个 IP？"
   （DNS 服务器 = NameSilo 的 dnsowl.com）
        ↓  回答：你的服务器IP
③ 浏览器向 你的服务器IP 的 443 端口（HTTPS）发起请求，
   请求里带着一句话："我要访问 www.你的域名"
        ↓
④ 服务器上的 Nginx 收到请求，看这句话（叫 Host / server_name），
   在配置里找哪个站点匹配这个名字
        ↓  找到：/www/server/panel/vhost/nginx/www.你的域名.conf
⑤ Nginx 去这个站点的根目录 /www/wwwroot/www.你的域名/
   找首页文件 index.html，把它读出来发回浏览器
        ↓
⑥ 浏览器把 HTML 渲染成你看到的页面
```

**关键推论（解释了你遇到的所有怪现象）：**

- 直接访问 `http://你的服务器IP/` 会 404 → 因为请求里没有域名，Nginx 找不到匹配的站点。这**不是故障**，是正常现象。
- `http://你的域名/` 也是 404 → 因为你的站点只登记了 `www.你的域名`，**裸域名没登记**。这个是真问题，可修。
- 看到"恭喜，站点创建成功"→ 说明第 ④⑤ 步全都正常，只是 **第 ⑤ 步读出来的文件是宝塔送的默认页**，不是你的内容。

---

## 第 1 章　名词表（看别人教程不再懵）

**服务器相关**

| 名词 | 白话解释 |
|---|---|
| 云服务器 / VPS / ECS / CVM | 就是租来的一台远程电脑，放在机房里 24 小时开机。腾讯云管它叫 CVM 或"轻量应用服务器" |
| 实例 | 云厂商对"一台服务器"的叫法 |
| 镜像 / 系统 | 装服务器时选的"出厂系统"，你的是 Debian（一种 Linux 系统） |
| IP 地址 | 服务器在网络上的门牌号，如 `你的服务器IP` |
| 带宽 | 服务器出网的速度，1M ≈ 每秒 128KB，个人站 3M 很够 |
| 快照 / 镜像备份 | 给整台服务器"拍照"，搞坏了能整体还原，**强烈建议定期做** |
| 安全组 / 防火墙（云端） | 云厂商层面的门禁，决定外面能访问哪些端口。**打不开网站十有八九是这里没放行** |
| 端口 | 一台服务器上有很多"门"，80 = HTTP，443 = HTTPS，22 = SSH，8888 = 宝塔面板 |
| SSH | 远程连服务器的协议，Windows 自带 `ssh` 命令，也可以用 FinalShell 这类图形工具 |
| root | Linux 里的超级管理员账号，权限最大，别随便给密码 |
| 终端 / 命令行 | 那个黑色窗口，靠打字下命令。宝塔的意义就是让你少用终端 |

**域名相关**

| 名词 | 白话解释 |
|---|---|
| 域名 | 网站地址，如 `你的域名`。**和服务器是两样东西，分开买、分开续费** |
| 注册商 | 卖域名的地方，你用的是 NameSilo |
| DNS | 把域名翻译成 IP 的系统 |
| A 记录 | 一条"域名 → IP"的翻译规则。要把 `@`（裸域名）和 `www` 都加上 |
| CNAME 记录 | "域名 → 另一个域名"的规则 |
| TTL | 这条解析在别人电脑里缓存多久，越小改得越快生效 |
| 解析生效 | 改完 DNS 不是立刻全网可用，通常几分钟到几小时 |
| 备案（ICP） | 中国大陆机房的强制要求：网站要登记。**你的服务器在日本，不需要备案** |
| 泛解析 | `*.你的域名` 全部指向同一 IP，做子域名方便 |

**网站相关**

| 名词 | 白话解释 |
|---|---|
| Nginx | 接待员：接收访客请求，把文件发回去。还能做反向代理、负载均衡 |
| PHP | 一种服务器端语言，WordPress 靠它运行。纯静态站用不到 |
| MySQL | 数据库，存文章、用户、评论的地方。纯静态站用不到 |
| 宝塔面板 | 网页版服务器管理后台（免费版够用）。它不是网站本身，是"管理网站的工具" |
| 站点根目录 | 一个网站的文件都放这个文件夹里，你的在 `/www/wwwroot/www.你的域名/` |
| `index.html` | 默认首页文件名。访客访问域名时，Nginx 默认找它。**没有它 → 404** |
| SSL / HTTPS | 给网站加密的证书，地址栏出现小锁。Let's Encrypt 免费，要开自动续签 |
| CDN | 把静态文件分发到各地节点加速，也顺便挡攻击。个人站不着急 |
| FTP | 老式上传文件的方式；现在宝塔面板的"文件管理"直接拖拽更方便 |

---

## 第 2 章　每个界面长什么样、该点哪里

### 界面一：腾讯云控制台（买服务器、放行端口、救急）
- **云服务器 → 实例**：看你的服务器、公网 IP、运行状态；"更多"里有**重置密码、关机、制作快照**
- **防火墙 / 安全组**：放行端口的地方。建议只放行 `80`、`443`、`22`（或你改过的 SSH 端口）、面板端口，**不要"全部开放"**
- **VNC 登录**：SSH 连不上时的救命通道，在网页里直接操作服务器

### 界面二：NameSilo（管理域名和解析）
- **Domain Manager**：域名列表、到期时间（你的 `你的域名` → **2027-03-15**）
- **DNS Records / 管理 DNS**：加 A 记录的地方。`@` 和 `www` 各一条，值都填服务器 IP
- **Auto-Renew（自动续费）**：一定要开

### 界面三：FinalShell（连服务器的图形终端）
- 新建连接：填**主机 = IP**、**端口 = 22**、**用户名 = root**、**密码**
- 连上后是个黑色终端窗口，底部可以看文件树（可拖拽上传/下载）
- 忘了宝塔面板地址？在这个终端里输入 `bt`

### 界面四：宝塔面板（日常管理主战场）
登录后左侧菜单（从上到下）：

| 菜单 | 干什么 |
|---|---|
| **网站** | 最常用。添加站点、绑定域名、改根目录、申请 SSL、看日志 |
| **FTP** | 建 FTP 账号，用 FileZilla 上传文件 |
| **数据库** | 建库、改密码、进 phpMyAdmin 管数据 |
| **监控** | 看 CPU / 内存 / 磁盘 / 流量 |
| **文件** | 网页版文件管理器，**改 index.html 就在这里** |
| **终端** | 面板里自带一个命令行，不用 FinalShell 也能敲命令 |
| **软件商店** | 装 Nginx / PHP / MySQL / 一键部署 WordPress |
| **计划任务** | 定时备份网站和数据库，**务必配一个** |
| **安全** | 改面板端口、设安全入口、限制登录 IP、开关 SSH |
| **设置** | 面板自身的设置、通知、SSL |

**"添加站点"表单里每个字段什么意思：**

| 字段 | 填什么 |
|---|---|
| 域名 | 一行一个，`你的域名` 和 `www.你的域名` 都填 |
| 根目录 | 自动生成，一般不用改 |
| FTP | 需要图形化上传就选"创建" |
| 数据库 | 静态站选"不创建"；WordPress 选 MySQL 并记住密码 |
| PHP 版本 | 纯静态站选"纯静态"；WordPress 选 8.1 / 8.2 |

---

## 第 3 章　你的现状：对照表

| 环节 | 状态 |
|---|---|
| 买服务器（Debian / root） | ✅ 完成（腾讯云日本东京，2026-03-15） |
| 买域名 | ✅ 完成（NameSilo，2027-03-15 到期） |
| DNS 解析到服务器 | ✅ 完成（`@` 和 `www` 都解析到了 你的服务器IP） |
| SSH 连接 | ✅ 完成（FinalShell 会话还在） |
| 装宝塔面板 | ✅ 完成（Nginx 在运行） |
| 放行端口 | ⚠️ 当年"全部开放"，建议收回，只留需要的 |
| 装运行环境 | ✅ Nginx 有了；PHP / MySQL 有没有待确认 |
| 添加网站、绑域名 | ⚠️ 只绑了 `www`，裸域名漏了 → 404 |
| SSL | ✅ `www` 已能 HTTPS 访问 |
| **上传网站内容** | ❌ **没做。这就是"网站不见了"的真正原因** |
| 备份 / 续费提醒 | ❌ 没做。域名 2027-03-15 到期，服务器也有到期日 |

---

## 第 4 章　现在该干什么（按顺序）

1. **登录服务器确认文件情况**（SSH 里执行）：
   ```bash
   ls -la /www/wwwroot/www.你的域名/
   ```
   → 如果里面只有 `index.html`（几 KB 的宝塔默认页）和 `404.html`，就证实了诊断。
2. **上传你的网页**：把工作区里 `我的网站/index.html` 传到那个目录，覆盖默认页。
   面板操作路径：**网站 → 点你的域名 → 根目录 → 进入文件管理 → 上传**（或直接拖进 FinalShell 的文件树）。
   上传后手机/电脑访问 `https://www.你的域名`，看到的才是你的网站。
3. **补上裸域名**：网站 → 你的站点 → 域名管理 → 添加 `你的域名`。
4. **安全收口**：软件商店 → 安全，改面板端口 + 设安全入口 + 限制登录 IP；腾讯云安全组只放行必要端口。
5. **配备份**：计划任务 → 每天备份网站 + 数据库，保留 7 份。
6. **设到期提醒**：域名 2027-03-15，服务器到期日也加到手机日历。
7. **再学"改页面"**：打开 `网站修改与界面优化.md`，用刚上传的页面当练习。

---

## 第 5 章　小白最容易搞混的 8 个概念

1. **域名 ≠ 服务器**：两个独立商品，各自续费。任一个过期网站都会挂。
2. **面板 ≠ 网站**：宝塔是管理工具，关掉面板网站照样跑。
3. **删掉面板不会删网站**，但**重装系统会清空一切**（所以要做快照）。
4. **HTTPS 有了 ≠ 网站有内容**：证书只是让连接加密，内容还得你自己放。
5. **访问 IP 报 404 不是坏事**，说明服务器和 Nginx 都活着。
6. **"显示默认页"= 一切就绪，只差内容**，这是最容易误解的一条（你就卡在这）。
7. **改 DNS 不是立刻生效**，别反复改来改去，等一会儿再测。
8. **服务器在国内必须备案**，否则 80/443 会被拦；境外服务器不需要（你的是日本，所以省了这步）。

---

## 第 6 章　推荐的学习路线

```
第 1 关：静态页（你在这里）
   ├ 手改 HTML/CSS，理解"文件 → 浏览器"的关系
   ├ 目标：能自己改文案、颜色、加板块
   └ 参考：网站修改与界面优化.md

第 2 关：WordPress 博客
   ├ 理解"程序 + 数据库"是怎么配合的
   ├ 目标：会装主题、装插件、写文章、备份
   └ 好处：不用写代码就有后台

第 3 关：前端项目
   ├ Vue/React + Vite 或 Hugo/Hexo
   ├ 目标：本地开发 → 打包 → 上传 dist
   └ 这时候"服务器知识"你已经会了，只剩写页面

第 4 关：进阶
   ├ 域名邮箱、CDN、对象存储、Docker、自动化部署
   └ 按需再学，别一开始就摊大
```

---

## 第 7 章　安全常识（别照抄老笔记的"全部开放"）

- 面板端口不要对所有 IP 开放；宝塔「安全」里可设**只允许你的 IP**
- 不要长期用 root + 密码 + 22 端口裸奔；建议改用密钥登录、改 SSH 端口
- 定期做**快照**；网站做**每日备份**（并偶尔下载到本地验证备份可用）
- 不装来路不明的插件/主题；宝塔面板保持更新
- 收到"你的服务器被入侵/挖矿"这类告警，第一时间看 CPU 监控和计划任务
