设为首页 收藏本站
查看: 866|回复: 0

[经验分享] linux 下部署nodejs(两种方式)

[复制链接]

尚未签到

发表于 2017-2-22 12:24:51 | 显示全部楼层 |阅读模式
  本次博客的编写时用的系统环境,刚装好的Centos 6.4  64位虚拟机。
  另外关于linux 其他系统的安装 可以参考https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
  之前在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下修改环境变量)
   DSC0000.jpg
  关于源码的编译也可以参考这篇博客,下面重点叙述如何通过部署二进制的文件的方式安装NodeJS

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

  3、下载后将安装包移动到要安装到的文件夹下,根据个人喜好设置即可
     这里我放在了/home/kun/mysofltware/ 下面,依次执行如下命令,可看到



cd  /home/kun/mysofltware/
ls
  解压到当前文件夹下运行



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

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



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

  因为 /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环境变量
   DSC0005.png
  执行su 输入密码切换到root用户。



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


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


PATH=$PATH:/home/kun/mysofltware/node-v0.10.26-linux-x64/bin
  编辑完成后按Esc键 然后输入 :wq 按回车保存退出。
   DSC0007.png
  退出vi ,执行
  source /etc/profile 可以是变量生效,
  然后执行 echo $PATH ,看看输出内容是否包含自己添加的内容
DSC0008.png

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345763-1-1.html 上篇帖子: NodeJs并发异步的回调处理 下篇帖子: NodeJS+Express+MongoDB
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表