学习笔记:在Linux虚拟机上搭建node服务

最近在研究虚拟机,有一些服务因为编译环境或者系统原因,可能无法在自己的电脑上运行,使用虚拟机可以很好的解决这个问题。虚拟机是通过软件模拟的、具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,可以使用virtualbox或者vmware等软件在普通电脑上创建虚拟机。

一、设置虚拟机的IP地址(已设置的可跳过此步)

(1)网卡设置
执行这个步骤要关闭虚拟机,否则无法操作。
选中虚拟机系统,点击【设置】

设置

选择【网络】→【网卡1】→连接方式选择【仅主机(Host-Only)网络,这一步是让虚拟机和宿主机网络互通


网卡1配置

【网卡2】→勾选【启用网络连接】,连接方式选择【网络地址转换(NAT)】,这一步是让虚拟机联网


网卡2配置

(2)配置enp0s3和enp0s8网卡
enp0s3网卡对应的是步骤(1)中的网卡1,与宿主机互通;enp0s8对应的是网卡2,用于虚拟机联网。
注:以下操作最好都使用root权限操作

编辑enp0s3文件

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3

按i或者insert键进行编辑,按照下图进行修改并保存


编辑enp0s3文件

编辑enp0s8文件
如果enp0s8文件不存在,复制一份enp0s3文件进行编辑

cd /etc/sysconfig/network-scripts    // 移动到文件所在目录
cp ifcfg-enp0s3 ifcfg-enp0s8       // 复制enp0s3文件
vim ifcfg-enp0s8        // 编辑enp0s8文件

按i或者insert键进行编辑,按照下图进行修改并保存


编辑enp0s8文件

(3)重启网络

systemctl start network    // 重启网络
ping www.baidu.com       // 测试网络
ifconfig                // 查询虚拟机ip
二、在虚拟机上跑node服务

(1)安装NodeJS
见另一篇文章:https://www.jianshu.com/p/afd7ec757240

(2)创建hello word程序
建议使用root权限

mkdir -p /user/local/demo/
vim /user/local/demo/helloworld.js

按i或者insert输入以下内容并保存

var http = require('http');
http.createServer(function(req, res) {
    res.end('hello word!');
}).listen(8088);
console.log('server is running in 8088......')

(3)运行并访问node服务
运行helloworld.js

node /user/local/demo/helloworld.js

在虚拟机上访问服务

curl localhost:8088

使用其它机器访问虚拟机的服务时,需先将虚拟机的防火墙关闭,否则无法访问

systemctl stop firewalld.service          // 关闭防火墙
systemctl disable firewalld.service        // 禁止防火墙开机启动

执行完之后即可在其它机器上访问虚拟机

你可能感兴趣的:(学习笔记:在Linux虚拟机上搭建node服务)