Linux系统中如何安装配置nodejs

目录

1. 概述

nodejs 是什麽?简单的说 node.js 就是运行在服务端的 JavaScript。
nodejs 是一个基于Chrome JavaScript 运行时建立的一个平台。
nodejs 是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。(其实就是一个后台语言,用js开发,最终编译成C/C++语言,适合不熟悉后台的前台攻城狮) 对于前端开发工程师来说,nodejs或多或少都使用用过,比如用nodejs下的npm包管理工具去下载模块,很愉快的构建前端项目,也很容易的打包项目。其实nodejs原生就是为linux开发的,我们可以通过多种方式在linux上安装nodejs,比如通过源码方式、通过编译包方式等等。 本文主要介绍通过nodejs官网已编译包在linux服务器上安装nodejs。

2. 环境准备

2.1 机器准备
#一台虚拟机
hostname:myhost
ip:ip_address
2.2 系统环境
[root@myhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

3. 如何安装配置nodejs并验证

3.1 检查是否已安装node命令和npm命令
[root@myhost ~]# which nodejs
/usr/bin/which: no nodejs in (/usr/local/jdk1.8.0_131/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@myhost ~]# which npm
/usr/bin/which: no npm in (/usr/local/jdk1.8.0_131/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

如果系统提示没有找到相关路径,那么这表明没有安装。

3.2 下载nodejs编译包

nodejs英文官网:http://nodejs.cn/download/

nodejs中文官网:https://nodejs.org/zh-cn/download/

根据自己系统情况以及需求选择合适的安装包。
在这里插入图片描述
我这里选择下载linux二进制文件(x64)已经编译过的安装包。点击右键复制下载链接到到linux服务器上进行下载。

[root@myhost ~]# cd /home/tools/
[root@myhost tools]# ll
总用量 0
[root@myhost tools]# wget -c https://nodejs.org/dist/v14.15.2/node-v14.15.2-linux-x64.tar.xz
--2020-12-16 10:30:03--  https://nodejs.org/dist/v14.15.2/node-v14.15.2-linux-x64.tar.xz
正在解析主机 nodejs.org (nodejs.org)... 104.20.22.46, 104.20.23.46, 2606:4700:10::6814:162e, ...
正在连接 nodejs.org (nodejs.org)|104.20.22.46|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:21388804 (20M) [application/x-xz]
正在保存至: “node-v14.15.2-linux-x64.tar.xz”

91% [===========================================================================>        ] 19,553,004  1.62MB/s 剩余 2s     

[root@myhost tools]# ll
总用量 20888
-rw-r--r--. 1 root root 21388804 12月 16 06:45 node-v14.15.2-linux-x64.tar.xz    
3.3 解压nodejs编译包
[root@myhost tools]#  ll
总用量 20888
-rw-r--r--. 1 root root 21388804 12月 16 06:45 node-v14.15.2-linux-x64.tar.xz 

[root@myhost tools]# tar -vxf node-v14.15.2-linux-x64.tar.xz 
[root@myhost tools]# ll
总用量 20888
drwxr-xr-x. 6 test 1001      101 12月 16 06:43 node-v14.15.2-linux-x64
-rw-r--r--. 1 root root 21388804 12月 16 06:45 node-v14.15.2-linux-x64.tar.xz

[root@myhost tools]#  ll node-v14.15.2-linux-x64
总用量 164
drwxr-xr-x. 2 test 1001    37 12月 16 06:43 bin
-rw-r--r--. 1 test 1001 53188 12月 16 06:43 CHANGELOG.md
drwxr-xr-x. 3 test 1001    17 12月 16 06:43 include
drwxr-xr-x. 3 test 1001    25 12月 16 06:43 lib
-rw-r--r--. 1 test 1001 80117 12月 16 06:43 LICENSE
-rw-r--r--. 1 test 1001 29006 12月 16 06:43 README.md
drwxr-xr-x. 5 test 1001    42 12月 16 06:43 share
3.4 复制解压完成的安装包到/usr/sbin目录下

在linux下有一个目录是专门拿来放软件的,那就是/usr/。如果我们去查看它的文件结构我们会注意下面又有几个比较特殊的文件夹,分别是/usr/bin、/usr/local、/usr/sbin等。

  • /usr/bin 系统预设的可执行文件,如开关机在这里,优先级最高;
  • /usr/local/bin 用户本身相关的可执行文件,如自己安装的软件推荐放在这里,会提升到全局;
  • /usr/sbin 基本同上;
[root@myhost tools]# mv /home/tools/node-v14.15.2-linux-x64  /usr/sbin/nodejs
[root@myhost tools]# cd /usr/sbin/nodejs
[root@myhost nodejs]# ll
总用量 164
drwxr-xr-x. 2 test 1001    37 12月 16 06:43 bin  ######
-rw-r--r--. 1 test 1001 53188 12月 16 06:43 CHANGELOG.md
drwxr-xr-x. 3 test 1001    17 12月 16 06:43 include
drwxr-xr-x. 3 test 1001    25 12月 16 06:43 lib
-rw-r--r--. 1 test 1001 80117 12月 16 06:43 LICENSE
-rw-r--r--. 1 test 1001 29006 12月 16 06:43 README.md
drwxr-xr-x. 5 test 1001    42 12月 16 06:43 share

[root@myhost nodejs]# cd /usr/sbin/nodejs/bin
[root@myhost bin]# ll /usr/sbin/nodejs/bin
总用量 72144
-rwxr-xr-x. 1 test 1001 73873464 12月 16 06:43 node
lrwxrwxrwx. 1 test 1001       38 12月 16 06:43 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxrwxrwx. 1 test 1001       38 12月 16 06:43 npx -> ../lib/node_modules/npm/bin/npx-cli.js

3.5 配置软node命令和npm命令链接

为了使nodejs能够全局使用,我们需要配置一下软链接(类似于快捷方式,如果安装的路径在/usr/local/bin/下不需要这一步操作),当然也是软连接到用户目录下/usr/local/bin/。

软链接的命令很简单: ln -s 源文件/源文件 目标路径/目标文件

[root@myhost bin]# ln -s  /usr/sbin/nodejs/bin/node    /usr/local/bin/node
[root@myhost bin]# ln -s  /usr/sbin/nodejs/bin/npm    /usr/local/bin/npm

[root@myhost bin]# cd /usr/local/bin/
[root@myhost bin]# ll
总用量 0
lrwxrwxrwx. 1 root root 25 12月 16 10:47 node -> /usr/sbin/nodejs/bin/node
lrwxrwxrwx. 1 root root 24 12月 16 10:47 npm -> /usr/sbin/nodejs/bin/npm
3.6 验证安装nodejs结果
[root@myhost bin]# which node
/usr/local/bin/node
[root@myhost bin]# which npm
/usr/local/bin/npm
[root@myhost bin]# whereis node 
node: /usr/local/bin/node
[root@myhost bin]# whereis npm
npm: /usr/local/bin/npm
[root@myhost bin]# node -v
v14.15.2
[root@myhost bin]# npm -version
6.14.9

若果看到以上结果那麽表示nodejs安装成功了。

4. 通过npm命令下载安装cnpm

4.1 安装cnpm命令

cnpm是淘宝团队做的国内镜像,因为npm的服务器位于国外可能会影响安装。淘宝镜像与官方同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

可以通过npm命令下载安装cnpm,但需要使用淘宝镜像地址。
淘宝镜像地址:https://registry.npm.taobao.org

[root@myhost bin]# npm install -g cnpm  --registry=https://registry.npm.taobao.org  
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this
/usr/sbin/nodejs/bin/cnpm -> /usr/sbin/nodejs/lib/node_modules/cnpm/bin/cnpm
+ cnpm@6.1.1
+ 

注意:通过npm命令下载安装cnpm会将cnpm可执行文件会下载到nodejs的安装目录下(也就是/usr/sbin/nodejs/bin/)。同理,我们可以把cnpm配置到全局下,也就是创建软链接到/usr/local/bin/下(如果本来就在该目录下不要做软连接)

4.2 创建cnpm命令软链接
[root@myhost bin]# cd /usr/sbin/nodejs/bin/
[root@myhost bin]# ll
总用量 72144
lrwxrwxrwx. 1 test 1001       33 12月 16 11:00 cnpm -> ../lib/node_modules/cnpm/bin/cnpm
-rwxr-xr-x. 1 test 1001 73873464 12月 16 06:43 node
lrwxrwxrwx. 1 test 1001       38 12月 16 06:43 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxrwxrwx. 1 test 1001       38 12月 16 06:43 npx -> ../lib/node_modules/npm/bin/npx-cli.js

[root@myhost bin]# ln -s /usr/sbin/nodejs/bin/cnpm /usr/local/bin/cnpm

[root@myhost bin]# cd /usr/local/bin
[root@myhost bin]# ll
总用量 0
lrwxrwxrwx. 1 root root 25 12月 16 11:04 cnpm -> /usr/sbin/nodejs/bin/cnpm
lrwxrwxrwx. 1 root root 25 12月 16 10:49 node -> /usr/sbin/nodejs/bin/node
lrwxrwxrwx. 1 root root 24 12月 16 10:47 npm -> /usr/sbin/nodejs/bin/npm
4.3 验证安装cnpm命令结果
[root@myhost bin]# which cnpm
/usr/local/bin/cnpm
[root@myhost bin]# whereis cnpm
cnpm: /usr/local/bin/cnpm
[root@myhost bin]# cnpm -version
cnpm@6.1.1 (/usr/sbin/nodejs/lib/node_modules/cnpm/lib/parse_argv.js)
npm@6.14.9 (/usr/sbin/nodejs/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
node@14.15.2 (/usr/sbin/nodejs/bin/node)
npminstall@3.28.0 (/usr/sbin/nodejs/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/usr/sbin/nodejs 
linux x64 3.10.0-1062.18.1.el7.x86_64 
registry=https://r.npm.taobao.org

若果看到以上结果那麽表示cnpm安装成功了。这时候我们就可以使用cnpm来下载模块了,速度那是杠杠的。

5. 通过cnpm命令下载安装pm2

5.1 安装pm2命令
[root@myhost ~]#  cd /usr/sbin/nodejs/bin
[root@myhost bin]# ll
总用量 72100
lrwxrwxrwx. 1 test 1001       33 12月 18 16:25 cnpm -> ../lib/node_modules/cnpm/bin/cnpm
-rwxr-xr-x. 1 test 1001 73828464 11月 16 21:23 node
lrwxrwxrwx. 1 test 1001       38 11月 16 21:23 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxrwxrwx. 1 test 1001       38 11月 16 21:23 npx -> ../lib/node_modules/npm/bin/npx-cli.js

[root@myhost bin]# cnpm install -g pm2 --registry=https://registry.npm.taobao.org 

Downloading pm2 to /usr/sbin/nodejs/lib/node_modules/pm2_tmp
Copying /usr/sbin/nodejs/lib/node_modules/pm2_tmp/_pm2@4.5.1@pm2 to /usr/sbin/nodejs/lib/node_modules/pm2
Installing pm2's dependencies to /usr/sbin/nodejs/lib/node_modules/pm2/node_modules
[1/31] commander@2.15.1 installed at node_modules/_commander@2.15.1@commander
[2/31] cli-tableau@^2.0.0 installed at node_modules/_cli-tableau@2.0.1@cli-tableau
.
.
.

5.2 创建pm2命令软链接

[root@myhost bin]# ll
总用量 72100
lrwxrwxrwx. 1 test 1001       33 12月 18 16:25 cnpm -> ../lib/node_modules/cnpm/bin/cnpm
-rwxr-xr-x. 1 test 1001 73828464 11月 16 21:23 node
lrwxrwxrwx. 1 test 1001       38 11月 16 21:23 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxrwxrwx. 1 test 1001       38 11月 16 21:23 npx -> ../lib/node_modules/npm/bin/npx-cli.js
lrwxrwxrwx. 1 root root       31 12月 21 10:38 pm2 -> ../lib/node_modules/pm2/bin/pm2
lrwxrwxrwx. 1 root root       35 12月 21 10:38 pm2-dev -> ../lib/node_modules/pm2/bin/pm2-dev
lrwxrwxrwx. 1 root root       38 12月 21 10:38 pm2-docker -> ../lib/node_modules/pm2/bin/pm2-docker
lrwxrwxrwx. 1 root root       39 12月 21 10:38 pm2-runtime -> ../lib/node_modules/pm2/bin/pm2-runtime


[root@myhost bin]# ln -s /usr/sbin/nodejs/bin/pm2 /usr/local/bin/pm2

[root@myhost bin]# cd /usr/local/bin
[root@myhost bin]# ll
总用量 0
lrwxrwxrwx. 1 root root 25 12月 18 16:26 cnpm -> /usr/sbin/nodejs/bin/cnpm
lrwxrwxrwx. 1 root root 25 12月 18 16:24 node -> /usr/sbin/nodejs/bin/node
lrwxrwxrwx. 1 root root 24 12月 18 16:25 npm -> /usr/sbin/nodejs/bin/npm
lrwxrwxrwx. 1 root root 24 12月 21 10:39 pm2 -> /usr/sbin/nodejs/bin/pm2
5.3 验证安装pm2命令结果
[root@myhost bin]# which pm2
/usr/local/bin/pm2
[root@myhost bin]# whereis pm2
pm2: /usr/local/bin/pm2
[root@myhost bin]# pm2 -version

                        -------------

__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
 _\/\\\/\\\_\/\\\\\\________/\\\\\\__/\\\///\\\___
  _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
   _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
    _\/\\\/____\/\\\__\///\\\/___\/\\\________/\\\//_____
     _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
      _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
       _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
        _\///______________\///______________\///__\///__


                          Runtime Edition

        PM2 is a Production Process Manager for Node.js applications
                     with a built-in Load Balancer.

                Start and Daemonize any application:
                $ pm2 start app.js

                Load Balance 4 instances of api.js:
                $ pm2 start api.js -i 4

                Monitor in production:
                $ pm2 monitor

                Make pm2 auto-boot at server restart:
                $ pm2 startup

                To go further checkout:
                http://pm2.io/


                        -------------

[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值