手把手教你把nodejs部署到linux上跑出hello world

所属分类: 网络编程 / JavaScript 阅读数: 383
收藏 0 赞 0 分享

从事前端一年多了对于 linux 服务部署一直是一无所知, 知道前段时间萌发了个想法, 我怎么能像运维的同学一样把自己的代码放到一个 linux 的服务器上. 于是便开始了踩坑之旅, 这里顺便记录下.

ps: 本文中需要下载的文件包括:

  1. VMware 下载
  2. linux
  3. nodejs
  4. xshell

文件较大, 大家在上车动手之前可以先准备好下载文件在搞起来. 反正我是打了好几局 LOL 才下载完的.

首先安装 VMware

1. 下载 VMware

因为我们没有在 linux 上编程的必要(除非你是个大牛 || 装逼达人), 所以我们选择了在虚拟机上安装 linux, 当前主流的虚拟机平台有 VMware 和 virtualbox, 前者付费, 后者为免费版. 大家可随意安装, 我们这里使用 VMware

2. 安装 VMware

双击下载的安装包文件, 开始安装 ...

a. 对于有强迫症的我这种界面直接下一步的, 老铁没毛病 ^-^


b. 这里你要是不同意就然后就没哟然后了 v_v


c. 这里到了勾重点的时候, 对于一些有洁癖的程序员不愿意把应用软件安装到自己的 c 盘, 需要点击这个界面的更改按钮


d. 不知道你有没有神奇的操作, 作为懒人, 我只是直接把 C 替换成了 D


e. 然后就是疯狂的下一步 --> 最后点一下安装, 电脑就开始干活儿啦

f. 安装完成, 弹出以下界面, 这里我们点击许可证按钮(这里强烈推荐大家购买正版)


g. 进入许可页面输入界面后我不知不觉的想到了度娘, 在此, 我再次强烈建议大家使用正版软件.


h. 在最后的完成页面点击完成, 至此 VMware 安装完成

其次安装 linux

1. 下载 linux

关于 linux 诞生的神话这里就不赘述了, 我们直接上截图, 上步奏.

下载地址:https://www.jb51.net/softs/188482.html

2. 安装 linux

a. 双击桌面上的 VMware 按钮打开, 点击巨大的 "新建虚拟机" 按钮


b. 选择典型, 点击下一步, 在这个页面如果系统没哟匹配到你下载的 linux 安装包, 需要手动选择下

 


c. 在这里你需要给你的 虚拟机起一个名字



d. 老规矩 C->D


e. 这些东西不怎么会, 直接下一步, 完成 虚拟机配置完成.


f. VMware 的好处在于, 到目前为止, 我们什么都不用干了, 你可以撩撩妹子, 打局 LOL. 因为剩下的活儿, VMware 都帮我们干了.


g. 安装完成后进入了我们憧憬的 linux 界面, 没有想象的那么糟糕 ^-^


h. 使用 xshell 链接 linux


a) 安装 xshell 实在是没有难度这里就不说了, 首先我们拿到虚拟机的 ip

点击 linux 按钮 -> 在密码框输入我们安装虚拟机是设置的密码 -> 完成基本设置后 -> 即可进入

liunx 桌面 -> 右击 -> open in terminal 即可打开 liunx 控制台 输入 ifconfig 指令 回车


b) 打开 xshell 使用 alt + n 快捷键


主机名字地方输入前一步获取的 ip




c) 在xshell 中输入 ifconfig 输出的内容同在虚拟机中输出一直, xshell 链接成功


1、进入安装目录

 cd /usr/local/

2、上传 nodejs 安装包

rz -> 选择已经下载的 node 安装包文件


3、解压 nodejs 安装包

 xz -d node-v8.1.2-linux-x64.tar.xz
 tar -xvf node-v8.1.2-linux-x64.tar

4、改名

 mv node-v8.1.2-linux-x64 node

5、添加环境变量

 vim /etc/profile  -> 并在文件的末尾添加三行 (vim 操作请自行百度)
 export NODE_HOME=/usr/local/node
 export PATH=$PATH:$NODE_HOME/bin
 export NODE_PATH=$NODE_HOME/lib/node_modules
 配置完成后执行 
 source /etc/profile
 在命令行中输入 node -v 是不是好使了 ^-^
 为了保证每个账户下该配置均可用需要
 vim /root/.bashrc
 并在这个文件的末尾加上
 source etc/profile
 万事大吉 撒花.....

6、创建 hello world 程序

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

在 helloworld.js 文件中输入以下内容

var http = require('http');
http.createServer(function(req, res) {
res.end('hello world...')
}).listen(8080);
console.log('服务已启动, 监听端口8080......')

此时我们就可以通过虚拟机本机访问到服务啦


通过虚拟机访问node服务

但是在物理主机中并不能访问

这是为什么呢???关闭防火墙

百度了半天发现原来是应为虚拟机开启了防火墙, 所以物理主机没法访问到. 执行以下两个指令即可.

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

打开浏览器访问 http://192.168.79.128:8080/


本文记录了我的 nodejs 初始踩坑之旅, 希望可以帮助新手同学, 同时希望大神能够不吝赐教.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

jQuery 行级解析读取XML文件(附源码)

项目中应用jQuery解析读取XML语言配置文件来实现语言的调度。这是jQuery解析读取XML文件功能的测试源码,现拿出来分享。
收藏 0 赞 0 分享

JS 文件本身编码转换 图文教程

JS编码转换,这句话本身就是一句具有二重义的话。通常理解为JS文件里能转换编码的代码,但是,我所碰到的问题并不是这样的,是要解决JS文件本身的编码问题,它是UTF-8编码的还是ANSI编码的?
收藏 0 赞 0 分享

jQuery Ajax之$.get()方法和$.post()方法

load()方法通常用来从Web服务器上获取静态的数据文件,然而这并不能体现Ajax的全部价值。在项目中,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()或者$.post()方法(或者是后面要讲解到的$.ajax方法)。
收藏 0 赞 0 分享

jQuery Ajax之load()方法

jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第2层是laod()、$.get()和$.post()方法,第3层是$.getScript()和$.getJSON()方法。
收藏 0 赞 0 分享

JavaScript 核心参考教程 内置对象

JavaScript 是根据 "ECMAScript"标准制定的网页脚本语言。这个标准由 ECMA 组织发展和维护。ECMA-262 是正式的 JavaScript 标准。
收藏 0 赞 0 分享

JavaScript 核心参考教程 RegExp对象

JavaScript 核心参考教程RegExp对象,学习正则表达式的朋友可以参考下。
收藏 0 赞 0 分享

javascript hashtable实现代码

javascript中没有像c#,java那样的哈希表(hashtable), 然而,javascript中的Array也只有一些类似于'哈希表'的非常简单功能。
收藏 0 赞 0 分享

百度留言本js 大家可以参考下

百度留言本js 大家可以参考下。
收藏 0 赞 0 分享

javascript 判断某年某月有多少天的实现代码 推荐

以前写网页的时候,经常碰到选择日期的问题,其实就是判断某年某月有多少天。
收藏 0 赞 0 分享

让iframe子窗体取父窗体地址栏参数(querystring)

突然用到,记录一下,对地址栏字符串用正则处理最好,有时间研究一下。 主要是思路。
收藏 0 赞 0 分享
查看更多