独立开发者系列(34)——node项目部署

avatar
作者
筋斗云
阅读量:0

  本节梳理node项目的部署,搭建一个外部能正常访问的node网站。将开发好的项目搭建到系统里面。Node的部署比PHP版本要复杂一些。部署项目前要理解几个概念。Nodejs版本管理器概念。

   NVM概念,我们平时开发是在本地电脑上开发,开发的时候,版本是限定的一个版本,比如当前我自己电脑环境是v.20


但是很多扩展和包是基于标准的v16.20版本创建的,这个时候,我又要去下载对应的版本包,否则可能项目跑的时候,版本号对不上,导致出现问题。相比而言,php版本号比较固定,兼容性比较好。

这个时候我们需要一个能管理本地nodejs版本的工具,node version Manger  多版本管理。
 

部署node项目的时候,由于node版本太多,每个版本都有不同的库和产生,所以nvm几乎成了项目必备的部署工具。安装nvm基础流程:
1.下载 nvm 到电脑上 完成安装。

如果是Linux环境下下载安装nvm(按照官网推荐的Linux命令)

2.查看当前已经安装了的node的版本
nvm list  就可以看到当前已经安装的node版本。Node版本太高,会导致大部分的Linux运行不支持。
对于Linux 有个特别头疼的问题,就是centOS8.0以下安装不了node 18版本。这也就是为什么看到的很多项目开发都是基于16.XX开头的版本,否则你开发出来的代码,在很多服务器上运行不了。这算是node部署里面的一个大坑

Nvm 常用命令:

nvm list available (当前全部可以安装的版本)
nvm install  xxxx (安装指定的版本 方便部署很多历史项目)

nvm use xxxx  (使用某个版本号)

3.如果只是简单跑项目,建议使用BT面板,点击软件商店 输入node

可以看到nodejs版本管理器,更新列表,可以查到对应项目支持的nodeJS版本 这个非常重要(我们需要根据项目对应的node版本来进行切换)。

选择当前环境可以运行的版本,node  npm。

4.node项目说明
如果是自己需要创建一个node项目
node项目结构的说明: node项目是依赖package.json运行的,没有该文件系统运行的时候是会报错的

如果是新开发项目 需要 npm  init ,这样会产生一个初始化的项目,会把包的名字和相关信息进行填写。

说明包,而且每次引入了新包,或者安装了installl 新的包,会自动加入到package.json里面

这里补充下部署包的相关说明:

{

  "name": "my-node-app",            // 项目名称

  "version": "1.0.0",               // 项目版本号

  "description": "A simple Node.js application",  // 项目描述

  "main": "index.js",               // 入口文件路径,通常是主要的JavaScript文件

  "scripts": {

    "start": "node index.js",       // 定义启动应用程序的命令

    "test": "echo \"Error: no test specified\" && exit 1"  // 定义运行测试的命令

  },

  "keywords": [

    "node",

    "javascript",

    "example"

  ],

  "author": "Your Name",            // 项目作者姓名或组织名称

  "license": "MIT",                 // 项目许可证类型

  "dependencies": {                 // 生产环境依赖模块及版本

    "express": "^4.17.1",           // 示例依赖的Express框架,版本号是4.17.1或以上

    "body-parser": "^1.19.0"       // 示例依赖的body-parser中间件,版本号是1.19.0或以上

  },

  "devDependencies": {              // 开发环境依赖模块及版本

    "nodemon": "^2.0.7"             // 示例依赖的nodemon工具,版本号是2.0.7或以上

  }

}

5.部署一个express简单模板项目到服务器上(express框架相对比较通用)
pnmp  install express  -g  (安装express框架)
pnmp  install express-generator  -g  (安装express的项目框架生成器,类似python里面的scrapy)

express --view=pug   安装好一个测试的试图

然后服务器打开
127.0.0.1:3000

部署到服务器上去 将防火墙的3000端口打开,可以看到服务器里面IP:3000端口已经打开运行

总结下node项目部署流程:
本地下载项目框架(或者下载需要开发的源码)——开发完成——打包移除node_modules (使用git更方便)——在服务器上拉取代码——宝塔里面安装node版本管理器——选定对应的运行版本——创建项目目录(上传文件的目录)——启动项目——放行端口——可以访问对应的项目了

这样一个基本的node后端项目部署就完成。之前是照猫画虎,不是很熟悉,现在这次彻底走通流程,弄懂每一步的原理,也并没有想的那么难。但是确实比php项目的部署复杂一截。所以才推荐使用docker安装node项目,docker安装项目后面再详解。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!