最近在学nodejs,不知道有没有人跟我有一样的困惑,每次学新东西配置实验环境都是个麻烦事(其实也没那么麻烦),主要是当自己的电脑装了一堆环境,一堆IDE后,总会变得臃肿不堪,而且经常遇到莫名其妙的问题,解决麻烦,还容易造成系统的不稳定。而且每换一台电脑,所有的东西需要重新配置。

所以我一直在想有一台专属的实验服务器就好了(可是对于学生来说还是贵啊),我可以在上面装我的专属实验环境,并且不用担心污染我的本地电脑,而且重装系统,或者在不同电脑上也能快速的恢复实验环境!

所以我就想能不能用虚拟机做一台专属的实验服务器,后来发现是可行的,并且装了server版的虚拟机基本不怎么吃资源。

这里介绍一下如何用虚拟机构建一台服务器,我是用的vmware,用virtualbox基本也差不多,除了端口映射那里不太一样

安装虚拟机

首先安装一个虚拟机,这里网上大量教材就不提供了,这里我是用的ubuntu-server,注意安装的时候,最后选择安装包的时候,把openssh带上。或者安装完后通过命令安装

sudo apt-get install openssh-server

安装完通过查看,如果有sshd说明安装成功

配置网络

这里我采用的NAT模式,该模式的好处是不用管外界ip地址的变化(比如说办公环境经常变换,ip地址也经常变换),内部ip部会改变,这样可以免去频繁修改host文件的烦恼。

我这里使用的vmware,把22号端口暴露出去(可以在公网中访问)

编辑-虚拟网络编辑器

点击【NAT设置】- 【添加】,这里输入端口号22,然后虚拟机的ip地址(进入虚拟机通过ipconfig获得),我这里是192.168.91.133

填完之后确定,我们虚拟机就配置完了

virtualBOX

对于virtualbox来说其实更简单,直接点击端口转发就行了

配置host

这里,为了访问虚拟机方便,或者避免虚拟机ip地址变化导致程序需要做大量修改配置文件。

我们可以直接在host中做一个映射。一般在C:\Windows\System32\drivers\etc目录下,用记事本,gvim等可以打开。增加一行是虚拟机的ip地址。

配置xshell

xshell是windows端功能强大的ssh终端软件,可以免费使用,下载地址:
http://www.netsarang.com/download/main.html

当然你也可以使用(Putty、SecureCRT)根据自己的需要

输入主机的ip地址:

然后可以修改一下外观,改变一下字体什么的,然后按确定,再在弹出的对话框点【连接】

会让你输入用户名和密码, 你可以选择记住密码

然后就可以连接上了

我们测试一下通过输入本地主机的ip地址:

发现也是能连接上的,说明端口被暴露出来了

服务器后台运行

是不是每次都要打开电脑,然后留一个VM程序在任务栏惹人厌呢?当然不是,我们可以让它后台运行。接下来,我们可以把我们的虚拟机(服务器)后台运行了

编辑——首选项,选中关闭后保持虚拟机运行

光这样还不够,还要在服务中把VMware Authorization Service打开,就可以把虚拟机后台运行了。

VMware Authorization Service打开,就可以把虚拟机后台运行了。

在vmware把虚拟机打开时候,关闭就行了,然后它就跑后台运行了,我们就可以随时通过远程工具比如(xshell)访问了

可以发现服务器开了在后台基本不怎么耗费资源,可能也是server版本的原因,这样就可以放心的在后台开启服务器了。

有人问为什么不直接在虚拟机中运行指令,而非要弄一个xshell远程登录,这个嘛,主要是~装逼~,当然不是拉,一来,我xshell软件可以显示风格,二来和真实工作情况相似,三来xshell提供了很多功能,加上配合xftp传输文件,非常方便。

配置环境

我这里主要使用node,所以安装了一些node开发工具(node npm mongodb redis……)

sublime sftp连接到服务器

在sublime中,通过sftp插件可以快速的把工程同步到服务器上,简直不要太方便

安装也很简单:

ctrl + shift + pinstallsftp

使用的时候,对需要同步的目录或文件,点击右键【SFTP】,配置一下,主要是下面几个地方要配置一下,把upload_on_save

打开可以在每次保存的时候,自动同步(根据需要开关),然后配置一下host,用户名,密码,端口号,还有同步到的目录(事先创建)

然后我们保存,点击右键——【SFTP】——Upload File

然后我们通过xshell打开服务器,可以看到正常同步过来了

然后,只要我们代码修改保存,这里就会自动同步更新

我们写了一小程序,在服务器的8011端口跑

var http = require('http')http.createServer(function  (req,res) {// body... res.end('hello');
}).listen(8011);console.log('listen 8011');

我们在服务器端运行一下:

然后我们在本地跑一下:输入http://myserver:8011(还记得我们之前配置了hosts文件吗),可以看到程序正常运行了。

最后

然后,你就可以在服务器上做任何你想做的事情了,而且配置好的环境,你可以压缩包保存一份,然后上传到百度云上(我装完环境的才2g,压缩完700m),以后不管在什么地方,只要装上虚拟机,所有环境就有了,不要重新配置,方便吧!

你还可以多配几个不同的实验环境,而不用担心污染你的本地电脑。而且linux的bash在实际工作中效率要比windows好很多,把它作为真实的实验环境是比较合适的。

【图解】用虚拟机做服务器相关推荐

  1. 虚拟机做linux服务器,用 VirtualBox 的 linux 虚拟机做服务器

    用 VirtualBox 的 linux 虚拟机做服务器 的原因如下: 1.想用 linux 环境的服务器,使开发环境更接近生产环境: 2.不想将过多的开发软件装在 windows 上,如 MySQL ...

  2. 虚拟机做linux服务器,linux虚拟机做服务器(linux搭建虚拟机)

    1.安装配置VM虚拟机:2.创建虚拟机,并配置虚拟机内操作系统的硬件标准:通过虚拟机制作出的系统不仅可以模拟出硬件资源.将实验环境与真机文件分离保证数据. 首先安装vsftpd软件,然后配置文件. 首 ...

  3. 家用电脑虚拟机做服务器_旧电脑使用虚拟机,简单几步打造万元群晖NAS

    现在电脑换代是一件很平常的事情,最近家里的老电脑太卡了,自己花钱在京东买了配件自己组装了一台新电脑, 因为自己的旧电脑的配置远远比蜗牛星际主机高,就是电脑的功耗会比蜗牛星际主机高很多,如果边用电脑边用 ...

  4. 虚拟机上的linux作为服务器吗,linux ftp服务器 虚拟机做服务器如何实现

    在虚拟机下装了fedora 10,搭建ftp服务器 linux下,常用的三种ftp服务器:WU-Ftpd(washingto universi ftp).vsftpd(very secure ftp) ...

  5. 家用电脑虚拟机做服务器_家用电脑能当服务器吗

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  6. 服务器装虚拟机要做阵列吗,vm虚拟机做磁盘阵列

    vm虚拟机做磁盘阵列 内容精选 换一换 独立冗余磁盘阵列(Redundant Array of Independent Disks,RAID),是把多块独立的磁盘(物理磁盘)按照一定的方式组合构建磁盘 ...

  7. 虚拟机也能做服务器吗,虚拟机可以做服务器吗

    虚拟机可以做服务器吗 内容精选 换一换 主机迁移服务是一种P2V/V2V迁移服务,可以帮您把X86物理服务器或者私有云.公有云平台上的虚拟机迁移到华为云弹性云服务器上,从而帮助您轻松地把服务器上的应用 ...

  8. 虚拟机看服务器mac地址,虚拟机修改服务器mac地址吗

    虚拟机修改服务器mac地址吗 内容精选 换一换 本章节指导用户为Windows系统的ECS主机添加域名解析并添加安全组,防止下载Agent安装包与采集监控数据时出现异常.修改ECS的DNS配置有两种方 ...

  9. 可以做服务器操作系统的是,可以做服务器操作系统

    可以做服务器操作系统 内容精选 换一换 将外部镜像文件注册成云平台的私有镜像后,您可以使用该镜像创建新的云服务器,或对已有云服务器的系统进行重装和更换.本节介绍使用镜像创建云服务器的操作.您可以按照通 ...

最新文章

  1. 不孕不育怎么办?AI帮你提高成功率
  2. OVS 各功能调用过程(三十一)
  3. 高并发编程-线程生产者消费者的综合示例
  4. 【Spring Boot】1.基础知识
  5. Tensorflow Lite 编译
  6. 使用回收站主键名、索引名问题
  7. virtualbox报错:Failed, trying without DKMS的解决方案
  8. mybatis 之动态SQL
  9. 分析:云存储和电子发现的结合
  10. 今天拿到一个TFS Workgroup Edition,想从B3R升级,结果开始了一天的艰难之路。。...
  11. [UVA]1391 Astronauts 2-Sat 朝花夕拾
  12. npm error! npm Maxium size exceed
  13. flex:1什么意思
  14. HTML CSS 网页设计作业「动漫小站」
  15. 世间皆苦,看完这些图,我们还是要笑对生活!
  16. Boundary Smoothing for NER
  17. Modbus 协议从站开发通信西门子 PLC
  18. PHP实现对小程序微信支付v2订单的结果查询
  19. 慕容复的故事告诉我们:应试教育害死人
  20. 博客设置中 html,博客大巴Blog设置 -如何在自定义Html中添加背景音乐?

热门文章

  1. Docker中启动redis
  2. 互联网最值得加入的173家国企名单
  3. 都2020年了,你还不会写简洁的Java代码!(转载)
  4. 使用docker-compose 编排基础分布式架构
  5. (个人)健康科技产品要求及标准大集合
  6. 微信小程序动画(二):旋转
  7. 用Excel做What-If Scenario Analysis
  8. 【unity游戏制作-mango的冒险】-4.场景二的镜头和法球特效跟随
  9. 关于SynchronousQueue线程池使用的一些认识
  10. 【游戏交互设计】希克法则:多“项”维度下的化繁为简