天天看点

node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs

1 写在前面:

由于公司内部限制使用终端 ip 分配。在虚拟机下无法使用 桥接模式进行开发,所以只能使用NAT进行。NAT虽然没有桥接方便,但是只要知道原理,也是可以很快地上手进行开发的。

本文是另一篇文章的升级版:

https://www.toutiao.com/i6541569153067647502/?group_id=6541569153067647502

现在没有时间,也可以不看这个链接的内容,等有空了再回过来体验。家里没有限制的话,可以按上述链接来安装。

node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs

由于IP限制,桥接模式已经不适用

node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs

要使用NAT模式

2 事前准备:

2.1 virtual box(如果已经有文件,不需要再另行下载):

https://www.virtualbox.org/wiki/Downloads

2.2 centos 7 ISO 镜像文件(如果已经有文件,不需要再另行下载):

https://www.toutiao.com/i6824056216998642188/?group_id=6824056216998642188

2.3 BIOS中开启虚拟化技术:

可能会遇到64位无法安装的情况。可以在在BIOS中开启虚拟化技术。 首先开机进入BIOS,一般机器是按F2,我的T420是按F1,然后进入Security,Virtualization,选择Enable即可,如下图: 不同的主板可能选项会有所不同,请自行参考主板厂商的帮助。 在你更改设置后,禁用或启用虚拟化,建议关闭计算机最小10秒,然后重新启动机器(冷启动),确保正常开启虚拟化技术。 来自《百度经验》

3 开始安装

3.1 为了节约笔者时间,请大家参考下述链接,仅操作到第18步。然后回到本文。即第18步以后的都不用再操作了。

https://www.toutiao.com/i6541569153067647502/?group_id=6541569153067647502

3.2 操作到第18步以后,请确认目前虚拟机的网络处理NAT模式。

node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs

你需要用鼠标右键点击这个图标

打开以下页面,并确保连接方式为:NAT

node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs

回到虚拟机,使用以下命令重启一次网络。

node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs

重启网络,让NAT模式生效

使用 ip addr 命令,可以看到,IP已经从熟悉的 192.*.*.* 或者 172.*.*.* 变成了 10.0.2.15 。这说明了NAT模式已经生效。

node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs

ip addr 查看 ip

小技巧,可以使用grep命令快速过滤出需要的 ip 信息

node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs

ip addr | grep inet

4 网络测试

4.1 ping 和 telnet

再次打开这个链接,只看一下第19步,然后回来。

https://www.toutiao.com/i6541569153067647502/?group_id=6541569153067647502

我们在win10下的cmd工具,ping 10.0.2.15

node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs

没错,请求会超时。通过了解NAT原理,就会知道,我们通过端口转发就可以解决这个问题。virtual box 提供了转发工具。入口在:

node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs
node.js安装模式 的区别_win10 虚拟机(vitrualbox)下从零开始安装centos7(以NAT为例)...1 写在前面:2 事前准备:3 开始安装4 网络测试5 系统更新6 安装 nodejs

如果只是开发node项目,我们至少需要二个端口转发。

  • 为什么要转发22端口?

    因为我们准备使用 ssh 协议连接到虚拟机子系统。而默认的端口是22。

  • 为什么要转发3001端口?

    因为我启动node的时候使用了3001端口。如果你使用其它端口,或者使用nginx进行再次转发,就开放相应的端口即可。

  • 为什么主机IP都留空白?

    一般可以写 127.0.0.1,但是为了让外部也可以访问到这个端口。留白则相当于不限制,类似于 0.0.0.0

  • 为什么主机端口要和子系统端口一致?

    主要是为了方便。其实主机端口也可以改成其它。访问时记得使用其它端口即可。比如:正常你会请求 http://localhost:3001 ,而主机端口改成了3002。那么在虚拟机的系统里面访问时使用:http://localhost:3001, 而主机使用:http://localhost:3002 来访问。这样做有助于加深理解,但是不建议这么做。原因是开发时忘记了,脑瓜容易卡壳。

  • 什么是SSH?

    可以参考我之前发的二篇文章:

    SSH系列1——SSH是什么

    SSH系列2 —— SSH的连接工具:xshell (这一篇比较重要,因为介绍了下载一个免费版的方法)

4.2 至少做完 22 端口的转发。使用xshell连接

5 系统更新

5.1 更新源

一般都会将系统的下载源修改为国内源,请参照这个链接:

https://www.toutiao.com/i6583261707513102861/?group_id=6583261707513102861

操作完成以后,麻烦再分别执行:

yum upgrade

yum update

5.2 下载安装常用的软件:

yes|yum install vim gcc zip unzip git net-tools telnet curl wget lrzsz

6 安装 nodejs

6.1 下载最新版本的 nodejs

到这里找到最新版的linux源码包,https://nodejs.org/en/download/。在centos下使用以下命令:

mkdir /node/;

cd /node;

wget https://nodejs.org/dist/v12.16.3/node-v12.16.3-linux-x64.tar.xz

xz -d node-v12.16.3-linux-x64.tar.xz

tar -xvf node-v12.16.3-linux-x64.tar

#将 node npm 变量软链接到/usr/bin以便于后面调用

ln -s /node/node-v12.16.3-linux-x64/bin/* /usr/bin/

#安装 cnpm,用于替换npm。因为cnpm下载资源走国内线路,比npm快

npm install -g cnpm --registry=https://registry.npm.taobao.org

#将cnpm安装到/usr/bin

ln -s /node/node-v12.16.3-linux-x64/bin/* /usr/bin/

#安装pm2

cnpm install -g pm2

ln -s /node/node-v12.16.3-linux-x64/bin/* /usr/bin/

6.2 写一个demo跑一跑。

6.3 记得demo对应的端口要在virtual box 的网络设置那里做好转发规则。

6.4 在本机浏览器使用 http://localhost:端口号 打开测试