服务器 → 云服务器 → linux系统 → linux命令 → 域名绑定 → nginx反代 → nodejs框架 → 服务部署
此文仅是一个没有任何后端经验的前端开发对”后端知识“的简要描述和学习回顾。且只是纯概念介绍,无任何实践代码,主要为梳理整体知识。以linux服务器及node项目举例。
我这个前端开发者的印象里,后端 ≈ 接口,接口哪里来?服务器里来。服务器由好多物理设备组成,普通开发也不至于上来就买一套物理机,那就是各种云服务了。随便进入到一个云服务提供商中,首先你需要抉择的是 ’轻量应用服务器‘ 和 ’云服务器‘?这俩是啥?有啥区别?选哪个呢?结论:新手选便宜的,即:’轻量应用服务器‘ ,至于为啥,可自行搜索引擎或AI问答获取该知识。再问,那就是省钱。
按照套餐买完后,你就会得到一个有IP地址的 ’服务器‘,咋进入到 ’服务器‘ 呢?新知识:’ssh‘ 进入,可以使用命令行的命令连接,也可以使用可视化工具(例:MobaXterm),(新知识的具体细节建议询问搜索引擎或AI问答,如啥是 ssh?)。这时候进入到了一个有好多文件夹的 ’电脑‘ 中,电脑都有系统的,那服务器上有系统吗?有,服务器系统以 linux 系统为主,linux系统有好多版本,如 centos 等。不同版本的系统的命令略有不同,具体可现用现查,查多了可能就记住了吧 ( It`s my guess )。
啥是域名?域名就是域名,就是个名,如 xxxxx.com,你可以在云服务商那随便买一个自己喜欢的,买完需要备案啥啥的,就按照卖家的教程,一步步来。把域名解析到自己的服务器上,即绑定上自己的 ip 地址。咱浏览器访问域名时,访问的都是80端口,(端口啥的是另外的知识,默认各位都知道),那如何访问到我同一个服务器上的多个项目中呢,如 test1.xxxxx.com 到一个商城页面中,test2.xxxxx.com 到一个erp系统中?后面并没有指定端口号,那怎么区分到哪呢?那就可以用 nginx 反向代理咯(新知识真多),照着网上教程咔咔一配置,就会指向自己在服务器中启动的服务了。
我们在服务器中如何启动服务呢?启动啥服务呢?nodejs服务,nodejs服务都有啥呢?nodejs有http模块啥的,这个模块就能启动一个服务,监听某些端口。当然也可以直接一把梭,上框架,例如:express、koa、egg、nestjs,可以看着文档初始化一个。本地运行的时候,命令无非是 npm run dev 或者 npm run start,那打包后的呢?怎么运行呢?首先你可以把打包后的文件夹使用 sftp 等功能上传到服务器的某些文件夹里,然后在服务器上安装 node 环境和项目里需要的 npm 包(注:打包时,可没有将node_module中的包一并打包哦,需在服务器上npm install那些东西,当然可以使用docker,另外的知识),然后使用pm2这类的工具,直接运行入口文件。如果不报错,唰,服务就起来了。当然真实的项目里还需要安装 数据库 mysql redis 等。
至此,以上就是特别简要的’后端知识‘介绍。搞一个服务器,绑定个域名,写一个node项目,在服务器上运行起来,再用nginx反向代理一下。It`s done