Centos7上安装nodejs并配置环境

总结Centos下安装nodejs并配置环境,记录成功安装的方法。推荐的安装方法是利用已编译的二进制文件安装,不推荐使用源码的形式安装,一是源码安装比较麻烦,二是需要自行下载编译浪费时间。

安装nodejs

访问nodejs的官方网站的downdolad,网址:https://nodejs.org/en/download/ ,可以看到最新的nodejs下载,包括不同的版本,截图如下所示。

在这里插入图片描述

根据linux的不同版本选择32位或64位,因为我的linux的虚拟机是64位的,所以我选择的是64位二进制安装文件(Linux Binariesx64),可以右键选择在新窗口中打开链接,复制下这个地址: https://nodejs.org/dist/v6.10.1/node-v6.10.1-linux-x64.tar.xz;

回到linux虚拟机,在控制台输入

# wget https://nodejs.org/dist/v6.10.1/node-v6.10.1-linux-x64.tar.xz 

系统将会下载这个文件,可以选择下载到默认路径。成功下载,在命令行输入命令可以查看到文件。如下图所示。

根据下载的文件可以看出它的压缩方式是 .xz 的方式,所以不能直接使用linux命令tar直接下载。需要下载能够解压这种格式的工具。我们可以使用yum源来安装,控制台命令:

# yum search xz
# yum install xz.i386
# xz -d node-v6.10.1-linux-x64.tar.xz
# tar -xf node-v6.10.1-linux-x64.tar
# mv node-v6.10.1-linux-x64 node-v6.10.1

当然好像也可以用 tar 来解压文件

# tar -xf node-v6.10.1-linux-x64.tar.xz
# mv node-v6.10.1-linux-x64 node-v6.10.1

在控制台输入 yum search xz ,在搜索到的列表中选择安装软件,如 yum install xz.i386 ,解压完成后文件变为以 .tar 后缀,使用 tar -xf node-v6.10.1-linux-x64.tar 解压文件。

可以更改文件名方便操作,在命令台输入 mv node-v6.10.1-linux-x64 node-v6.10.1 ,更改文件名为 node-v6.10.1。

为了验证是否能够使用node,我们可以输入 cd node-v6.10.1/bin ,输入 ./node -v 查看node版本,安装成功则能够成功显示node版本。如下图所示。(截图中的node -v应该为./node -v,因为是后面截图的)。

在这里插入图片描述

配置nodejs

要想node能够在全局能够使用,需要添加连接,在控制台输入下面命令能够实现。其中“ /root/node-v6.10.1/bin/node ”为二进制nodejs文件的目录,根据上面的步骤,我这里是直接解压到了root目录下,所以路径为 /root/node-v6.10.1/bin/node

ln -s /root/node-v6.10.1/bin/node /usr/local/bin/node  
ln -s /root/node-v6.10.1/bin/npm /usr/local/bin/npm

配置完成后即可在任何目录下使用node命令。

后台运行

利用Linux本身后台执行的特性

使用&符号后台执行,并利用nohup命令实现进程禁止挂起

nohup node app.js &

使用forever让node.js持久运行

npm install forever -g   #安装
forever start app.js  #启动应用
forever stop app.js  #关闭应用
forever restartall  #重启所有应用

#输出日志和错误
forever start -l forever.log -o out.log -e err.log app.js   

# 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log
forever start -l forever.log app.js  

# 指定app.js中的日志信息和错误日志输出文件,  
# -o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log app.js 

# 追加日志,forever默认是不能覆盖上次的启动日志,  
# 所以如果第二次启动不加-a,则会不让运行  
forever start -l forever.log -a app.js

# 监听当前文件夹下的所有文件改动(不太建议这样)  
forever start -w app.js  

# 显示所有运行的服务 
forever list  

######停止操作

# 停止所有运行的node App  
forever stopall  
  
# 停止其中一个node App  
forever stop app.js  

# 当然还可以这样  
# forever list 找到对应的id,然后:  
forever stop [id]

# 开发环境下  
NODE_ENV=development forever start -l forever.log -e err.log -a app.js  
# 线上环境下  
NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js
#上面加上NODE_ENV为了让app.js辨认当前是什么环境用的

运行forever报command not found

使用root用户安装 forever:npm install -g forever 。然后运行forever, 报错command not found。
查了一下应该是forever目录没有配置在环境变量中。
npm list -g -depth 0 查看forever被安装在哪个目录下。

然后直接使用绝对路径运行forever。

猜你喜欢

转载自blog.csdn.net/the_liang/article/details/84899854