上一篇讲了“代码是怎么管理的”。Git、仓库、commit、branch、push、pull,解决的是代码怎么记录、怎么同步、怎么回退的问题。
但代码管理清楚之后,还会遇到另一个问题:
本地能跑,不代表别人能用。
你在自己电脑上打开 localhost,看到页面正常,功能也能点。但如果想让别人通过一个网址访问,就要把项目放到线上环境里。
这一步,就是部署上线。
这一篇还是不讲复杂命令,只讲 AI Coding 会反复遇到的几个词:服务器、域名、IP、DNS、build、部署、Nginx、进程、日志。
上线大概是在做这几件事:

01
上线:不是“发给别人一个文件夹”
把“项目做好了”和“项目上线了”是两个概念。
本地页面能打开,是项目在我自己的电脑上工作。
上线,是项目在一台大家都能访问的线上机器上工作。
所以部署上线要解决的,不只是“代码在哪里”,还包括:谁来运行它,别人怎么访问它,出了问题怎么发现,服务停止了怎么重启。
上线的本质,是把项目从自己的电脑,搬到一个稳定、可访问、可持续运行的地方。
02
服务器:放在线上的那台电脑
服务器就是一台长期在线、专门运行项目的电脑。
区别在于,它不是放在你桌上的电脑,而是放在云服务商或者机房里,比如阿里云、腾讯云、华为云、AWS 这类地方。
你自己的电脑关机、断网、合上盖子,项目就没法对外服务。服务器通常会一直开着,负责让项目长期运行。
03
IP、域名、DNS:别人怎么找到你的项目
项目放到服务器上之后,别人还要能找到它。
服务器通常会有一个 IP 地址,比如一串数字。它像这台服务器在网络里的门牌号。
123.45.67.89
但让用户记一串数字不现实,所以我们会用域名。
example.comadmin.example.com
域名更像一个好记的名字。
DNS 做的事,就是把这个名字指向真正的服务器 IP。

04
build:把开发版整理成发布版
做前端项目时,经常会看到一个词:build。
开发时,我们通常跑的是开发服务。它方便改代码、看报错、热更新,但不一定适合直接给真实用户访问。
build 做的事,是把开发阶段的代码整理成适合线上访问的发布文件。
开发时:代码方便人改。
build 后:文件更适合浏览器加载。
部署时:服务器通常放的是 build 后的结果。
05
部署:把项目放到线上并启动
部署:把项目放到线上环境,并让它按正确方式运行。不是单纯复制文件,复制只是其中一步。
一个项目部署时,可能会经历这些动作:

你项目里如果有 deploy 目录,通常就和部署有关。里面可能放服务器配置、上线脚本、Nginx 配置、Docker 配置、运维说明。
它更像项目搬到线上时要用的工具箱。
06
Nginx:站在门口分配请求的人
Nginx:像站在门口的接待员。用户访问一个域名后,Nginx 负责判断这个请求应该交给谁。

所以你会看到一些配置里写着域名、端口、proxy、root、location 之类的内容。大多是在告诉 Nginx:这个入口应该怎么转发。
07
前端、后端、数据库
一个项目上线时,不是所有部分都用同一种方式处理,前端、后端、数据库,分工不同,部署时关注点也不同。
这也是为什么一个项目本地跑起来时,可能要同时启动前端、后端、数据库;上线时,也要分别考虑它们各自在哪里运行、怎么互相连接。

比如前端页面访问的是一个线上 API 地址;后端服务又要连接线上数据库;数据库还要限制谁能访问。
上线不是把整个文件夹扔到服务器就结束,而是让每个部分在正确的位置正常协作。
08
线上配置:不能把本地配置直接照搬
第二篇讲过 config 和环境变量,到上线这里它们会再次出现,因为本地环境和线上环境通常不一样。
本地可能连接测试数据库。
线上要连接正式数据库。
本地接口可能是 localhost。
线上接口要换成正式域名或服务器地址。
注意真实 config 不上传 Git,Git 里只放示意版,告诉运维需要哪些字段。真正的密码、密钥、数据库地址,是交给运维在服务器上改。
代码可以交给 Git 管,真实密码和密钥不要跟着代码一起流转。
09
进程和日志:上线后要确认它还活着
项目上线后,不是打开一次页面就结束了。
它要持续运行。后端服务不能启动一下就退出,数据库不能突然断开,前端访问不到接口也不行。所以还会涉及到运维、进程、服务、日志。

日志很重要。因为用户看到的可能只是“页面打不开”或“保存失败”,但日志里可能会告诉你:数据库连接失败、接口报错、配置缺失、权限不对。AI有时候也会和我要服务器的报错来定位问题。
写在最后
AI 可以帮我写代码、改配置、生成部署说明,但我至少要知道它在改哪一层。
如果前端打不开,可能是前端文件没部署好;如果接口失败,可能是后端服务没启动;如果登录失败,可能是数据库、配置或权限问题;如果域名打不开,可能是 DNS 或 Nginx 的问题。


夜雨聆风