初识Node.js

概述

相信对于专注javascript发展的同学来说,nodejs已经不是一个陌生的词眼。有关nodejs的相关资料网上已经铺天盖地。由于它的高并发特性,造就了其特殊的应用地位。

借用Node.js官网的定义:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm。

相信之前有了解React Native的都知道,RN依赖Node.js环境,还有Angular.js都是需要Node.js的环境的,那么我们就来说说怎么搭建Node.js的开发环境和运行环境吧。

环境搭建

1,下载安装文件

首先进入官网:https://nodejs.org/en/,我们选择稳定版

2,安装nodejs

下载后我们直接next安装就好了。安装完成后我们发现安装目录默认添加了一个npm管理工具

3,安装相关环境

npm install express  回车等待安装express

npm install jade    回车等待安装jade

npm install mysql  回车等待安装mysql

......

默认情况下上述组件都是安装在C:\Program Files\nodejs\node_modules文件夹下 这也是nodejs相关组件的自动查找路径。

4,创建工程

现在有express,npm install express -g

使用命令express HelloApp 

在HelloApp下新建helloworld.js测试

var http = require("http");
http.createServer(function(request, response) {  
    response.writeHead(200, {"Content-Type": "text/plain"});  
    response.write("Hello World");  
    response.end();
}).listen(8888);
console.log("nodejs start listen 8888 port!");

当然我们可以直接可以通过命令查看,接下来我们将介绍如何在Docker里面部署node.js应用。

在Docker快速部署node.js应用

Docker简介

可能还有一些同学不了解docker这个项目,docker是由go语言编写的,一个快速部署的轻量级虚拟技术项目,他允许开发人员将自己的程序和运行环境一起打包,制作成一个docker的image(镜像),这样部署到服务器上,也只需要下载这个image就可以将程序跑起来,免去每次都安装各种依赖和环境的麻烦,还能够做到应用程序之间的隔离。

Docker使用

创建server.js

vi server.js

创建Dockerfile

vi Dockerfile

Docker会依照Dockerfile的内容来构建一个镜像。

FROM hub.c.163.com/nce2/nodejs:0.12.2
# Create app directory
RUN mkdir -p /home/Service
WORKDIR /home/Service
# Bundle app source
COPY . /home/Service
RUN npm install
EXPOSE 8888
CMD [ "npm", "start" ]

我们来解释下上面几句话的意思:

第一句,从hub.c.163.com/nce2/nodejs:0.12.2 这个镜像地址拉取Image。

# Create app directory
RUN mkdir -p /home/Service
WORKDIR /home/Service

使用UN 用于在Image里创建一个文件夹,将来用于保存我们的代码。

# Bundle app source
COPY . /home/Service
RUN npm install

使用COPY是把本机当前目录下的所有文件拷贝到Image的/home/Service文件夹下,并使用npm安装。

EXPOSE 8888

我们的web app监听的是8888端口,使用8888外部端口访问web。

构建Image

docker build -t mynodeapp .

运行镜像

docker run -d -p 8888:8888 ac5

-d 表明容器会在后台运行,-p 表示端口映射,把本机的8888商品映射到container的8888端口这样外网就能通过本机的8888商品访问我们的web了 为了查看我们的Docker是否部署成功,我们可以直接使用浏览器locahost:8888来查看,当然我们也可以使用curl命令来查看。

curl -i localhost:8888

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Rainbond开源「容器云平台」

「Rainbond最佳实践」Tomcat配置Redis实现Session共享

23420
来自专栏奔跑的蛙牛技术博客

docker简单实用

docker 面向用户 云计算技术 pack ship run --->docker 特点

12630
来自专栏腾讯云服务器团队的专栏

主机迁移实践分享

在云计算时代,不管是从IDC上云还是多云直接的迁移,都已经是常见的事宜。而在上云/迁移的方案中,也是有多种的方式能够将主机迁移到腾讯云中。

12.2K140
来自专栏Linux运维学习之路

day10、nfs+rsync全网备份及实时同步

题目要求 注意:博主使用的系统为: [root@web01 ~]# uname -a Linux web01 2.6.32-696.el6.x86_64 #1...

76560
来自专栏葡萄城控件技术团队

ActiveReports 报表应用教程 (4)---分栏报表

在葡萄城ActiveReports报表中可以实现分栏报表布局样式,可以设置横向分栏、纵向分栏,同时进行分栏和分组设置,统计分栏分组的小计、合计等。在商业报表系统...

25180
来自专栏美丽应用

备选方案:在Linux Deploy上使用镜像部署Linux系统

61950
来自专栏编程坑太多

『高级篇』docker之gitlab和jenkins安装(42)

PS:可能有的插件安装不了,不要慌老铁,进入到jenkins的管理页面会提示你更新jenkins更新下,然后插件又可以自动下载安装完毕了。

20510
来自专栏电光石火

Docker Settings

23630
来自专栏云计算教程系列

如何在Ubuntu 18.04上安装Anaconda Python发行版

Anaconda专为数据科学和机器学习工作流程而设计,是一个开源包管理器,环境管理器,以及Python和R编程语言的分发。它通常用于大规模数据处理,科学计算和预...

1.5K70
来自专栏openshift持续集成

构建Docker镜像两种方式的比较-Dockerfile方式和S2I方式

写Dockerfile是构建Docker镜像最通常的方式,接触过Docker的童鞋多少了解一些。前段时间研究OpenShift(paas的一种),发现了另外一种...

40770

扫码关注云+社区

领取腾讯云代金券