linux 下部署nodejs项目(两种方式)

发布时间 - 2026-01-10 22:43:13    点击率:

之前在linux下部署过几次NodeJS,也有些经验,最近也在Q群里有朋友问Node在linux下部署问题,于是总结一下,主要介绍两种不同的部署方式,二进制文件直接解压部署和手动编译安装,一来巩固自己的知识,二来希望能对新手有所帮助。 

关于在node在linux的部署我认为主要有三种方式,

第一种就是自己下载源码,手动编译二进制,即是部署过程。

第二种方法 直接下载二进制文件解压即可。

第三种方式,使用yum install node或者apt-get install node安装(在linux下 貌似默认源中没有node的程序,这种方式有缺点,安装后的程序版本可能不是最新版的,不推荐这种方式安装)

 编译源码安装

需要先安装编译环境 比如 node编译依赖于gcc make gcc-c++ openssl-devel等三方模块,因此需要提前自己先安装依赖(使用 yum -y install gcc make gcc-c++ openssl-devel 即可),还有要确认自己下载的是源码(有同学之前要自己手动编译安装,却找不到configure,文件,结果发现自己下载不是源码,而是二进制包)官网的下载地址中http://nodejs.org/download/ 最后一项才是源码。下载完解压,在linux编译程序一般就分为三步

1、 进入源码路径,执行里面的 configure文件./configure --prefix=生成的二进制文件路径

2. 运行make命令,这个是编译过程,运行的时间可能稍长一些

3、 执行install 命令。如果在第第一步骤中配置的程序安装路径不在系统的环境量PATH中,需要自己添加(下面会介绍在centos下修改环境变量)

下面重点叙述如何通过部署二进制的文件的方式安装NodeJS

NodeJS二进制文件的部署安装

2、首先下载NodeJS的二进制文件,http://nodejs.org/download/。在 Linux Binaries (.tar.gz)行处根据自己系统的位数选择

3、下载后将安装包移动到要安装到的文件夹下,根据个人喜好设置即可

这里我放在了/home/kun/mysofltware/ 下面,依次执行如下命令,可看到

 cd /home/kun/mysofltware/
 ls

解压到当前文件夹下运行

tar zxvf node-v0.10.26-linux-x64.tar.gz

进入 解压后的目录bin目录下,执行ls会看到两个文件node,npm. 然后执行./node -v ,如果显示出 版本号说明我们下载的程序包是没有问题的。 依次运行如下三条命令

cd node-v0.10.26-linux-x64/bin
ls
./node -v

因为 /home/kun/mysofltware/node-v0.10.26-linux-x64/bin这个目录是不在环境变量中的,所以只能到该目录下才能node的程序。如果在其他的目录下执行node命令的话 ,必须通过绝对路径访问才可以的

如果要在任意目录可以访问的话,需要将node 所在的目录,添加PATH环境变量里面,或者通过软连接的形式将node和npm链接到系统默认的PATH目录下的一个,以下别介绍

软连接方式

在终端执行echo $PATH可以获取PATH变量包含的内容,系统默认的PATH环境变量包括/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin: ,冒号为分隔符。所以我们可以将node和npm链接到/usr/local/bin 目录下如下执行

ln -s /home/kun/mysofltware/node-v0.10.26-linux-x64/bin/node /usr/local/bin/node

ln -s /home/kun/mysofltware/node-v0.10.26-linux-x64/bin/npm /usr/local/bin/npm 

通过如此,就可以访问Node了,同时node部署也已经完毕。

环境变量配置。

在node目录下执行pwd 获取node所在的目录,要把这个目录添加到PATH环境变量

执行su 输入密码切换到root用户。

vi /etc/profile

(如果不熟悉vi的,centos还有个方便的类似记事本的东东。gedit执行gedit /etc/profile可以打开进行编辑)

在vi 环境下 点击 i 进入插入状态,在export PATH的上一行添加如下内容 (环境变量中的内容 是以冒号分割的)

PATH=$PATH:/home/kun/mysofltware/node-v0.10.26-linux-x64/bin

编辑完成后按Esc键 然后输入 :wq 按回车保存退出。

退出vi ,执行

source /etc/profile 可以是变量生效,

然后执行 echo $PATH ,看看输出内容是否包含自己添加的内容

然后到任意目录下去执行一次执行node -v   npm -v

 ok 搞定了。

需要注意的是,在我的安装过程中,通过source /etc/profile,只是让变量临时生效了,如果此时我在开一个终端的 话运行node会提示找不到命令,这个问题 重启或者注销之后得到了解决,我记得之前玩Ubuntu的时候 是没有这个问题的。看来linux知识还是欠缺啊。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# nodejs  # linux  # 部署  # linux下部署nodejs  # 安装部署nodejs  # M2实现Nodejs项目自动部署的方法步骤  # 详解NodeJs项目 CentOs linux服务器线上部署  # nodeJs项目在阿里云的简单部署  # jenkins+docker+nginx+nodejs持续集成部署vue前端项目  # 宝塔部署nodejs项目的实战步骤  # 将vue+nodejs项目部署到服务器上的实现  # Nodejs项目打包部署两种方式总结  # 目录下  # 的是  # 找不到  # 这个问题  # 自己的  # 先安装  # 编译程序  # 我在  # 放在  # 有个  # 才是  # 下载地址  # 也在  # 两种  # 几次  # 其他的  # 要在  # 要把  # 我们可以  # 我认为 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Bootstrap整体框架之JavaScript插件架构  Laravel中的withCount方法怎么高效统计关联模型数量  如何快速搭建高效WAP手机网站?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  中国移动官方网站首页入口 中国移动官网网页登录  音响网站制作视频教程,隆霸音响官方网站?  Laravel如何优化应用性能?(缓存和优化命令)  如何快速搭建支持数据库操作的智能建站平台?  Firefox Developer Edition开发者版本入口  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  佛山企业网站制作公司有哪些,沟通100网上服务官网?  深圳网站制作培训,深圳哪些招聘网站比较好?  音乐网站服务器如何优化API响应速度?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  Swift开发中switch语句值绑定模式  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  原生JS实现图片轮播切换效果  如何快速完成中国万网建站详细流程?  制作企业网站建设方案,怎样建设一个公司网站?  如何用AWS免费套餐快速搭建高效网站?  Laravel如何使用Gate和Policy进行授权?(权限控制)  无锡营销型网站制作公司,无锡网选车牌流程?  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  简单实现jsp分页  在线教育网站制作平台,山西立德教育官网?  如何在香港免费服务器上快速搭建网站?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Laravel如何实现本地化和多语言支持?(i18n教程)  晋江文学城电脑版官网 晋江文学城网页版直接进入  如何在橙子建站中快速调整背景颜色?  微信公众帐号开发教程之图文消息全攻略  大连 网站制作,大连天途有线官网?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  如何为不同团队 ID 动态生成多个非值班状态按钮  网站图片在线制作软件,怎么在图片上做链接?  七夕网站制作视频,七夕大促活动怎么报名?  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何快速配置高效服务器建站软件?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  浅述节点的创建及常见功能的实现  Laravel如何发送系统通知?(Notification渠道示例)  百度浏览器如何管理插件 百度浏览器插件管理方法