前言:本文章基于腾讯云服务器的部分截图举例~
一、云服务器 VS 轻量应用服务器
- 传统后端开发:客户给一台物理实体服务器 → 后端登录进去,装数据库、装运行环境、部署项目、配置防火墙、维护系统。

- 腾讯云这里就是云端的虚拟电脑(虚拟服务器),代替物理那台机器(运行代码、跑后端程序、跑数据库的主机)。
- 区别:云服务器-适用于复杂项目,支持复杂网络配置,多扩展自由度高、
轻量应用服务器-精简版,支持很多命令配置环境,不需要过多配置(一键装 WordPress 网站、一键装 Node、PHP 环境),省去很多运维配置,适用于小白上手,
二、腾讯云或阿里云产品下的子产品:COS(对象存储)
-
作用:线上存储空间,用来放图片、文档、静态文件。
-
在 COS 里可以创建存储桶,文件就上传到存储桶里面。COS 收费分 3 大块:
1.存储容量费:文件占空间的钱
2.外网流量费:别人下载文件流出的流量钱
3.请求调用费:上传、查看文件接口调用的钱
-
两种交钱方式:
① 按量计费(默认:用多少,月底算多少钱)
② 资源包(预付费套餐,存储容量费)

-
注:资源包分好几种,各司其职,互不通用
- 对象存储-容量包:只抵扣【存储静态资源的-容量费】,只管文件占空间的费用
- 流量资源包:只抵扣外网下载流量费
- 请求资源包:只抵扣 API 请求调用费
三、轻量服务器上-部署Node后端项目-接口能提供到公网能访问得到数据~
A【服务器网页控制台操作,不在终端敲命令,前置!】
- 防火墙放行 3000 端口:打开服务器的门,外网可以访问你后端程序的 3000 端口接口。(这一步是网页控制台操作,不在终端敲命令)
B【Ubuntu服务器终端内操作顺序】
- 安装解压工具
unzip - 上传后端 zip 压缩包到服务器(OrcaTerm 上传按钮,把本地 zip 传到服务器)
- 解压 zip 压缩包,整理项目文件夹(cd、unzip、rm、mv 清理旧文件)
- 【可选】如果上传的压缩zip文件包含.sh文件,则需要解决一个换行问题,解决后一键在Linux上面执行脚本,后面的6-11都可省略,给所有命令都放到.sh文件之中了,,,
- 安装 Node.js 运行环境
- 安装 MySQL 数据库软件 → 创建业务数据库、创建账号、导入业务数据
- 进入项目目录,安装项目依赖
npm install - 数据库连接配置校验(项目代码要填数据库地址、账号密码,能连上 MySQL)
- 启动后端 Node 服务
- PM2:Node 程序进程管理工具。负责:启动后端、守护进程崩溃自动重启、配置服务开机自启(防止服务器重启后端就挂掉),
- 验证接口,测试服务是否正常工作
终端命令忘记存档截图,暂用空白终端图
>
- 浏览器 / 小程序验证接口是否通
注:这里详细说明下
这里说下zip 压缩包,我这里的zip压缩包,不单纯是node后端代码压缩包,其中还有sql文件和额外一键Linux可执行的.sh脚本文件(一键安装命令)
server‑upload.zip
├─node后端代码
├─数据库sql文件
└─✅ deploy.sh(额外手写的一键安装脚本,不属于node官方项目文件)
而普通的zip包,一般就是纯粹的node后端代码压缩包,最多加上sql文件
普通node项目
├─package.json
├─index.js 等业务代码
└─数据库sql
#没有 deploy.sh!!!全部步骤需要人手工敲命令完成~
最后就是:那这个换行坑 sed -i 's/\r//' deploy.sh 为什么会出现?
deploy.sh这个脚本,是在你的 Windows 电脑上编辑 / 保存的- Windows 保存文本会自动加上看不见
\r回车符号 - 打包进 zip,上传服务器解压,这个隐藏字符跟着来到 Linux 服务器
- Linux 执行
.sh脚本,看到多余的\r就会报错:$'\r': 未找到命令 - 所以必须执行 sed,把这个隐藏字符清理掉
关键点:坑来自deploy.sh 这个脚本文件本身是 Windows 环境编辑出来的 。
如果没有这个 deploy.sh,就完全不需要执行这条 sed 修复命令。

