一、 搭建 node.js 环境

yum install nodejs -y //使用 -y 的目的是不用经过询问,直接安装
node -v //查看 node.js 安装的版本,如果出现如下情况,说明安装情况
image.png

1.1 腾讯云搭建 node 服务

  1. 下载稳定版本:wget [https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-x64.tar.xz](https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-x64.tar.xz)
  2. 解压:tar xvJf node-v6.10.3-linux-x64.tar.xz
  3. 将解压的 Node.js 目录移动到 /usr/local目录下 mv node-v6.10.3-linux-x64 /usr/local/node-v6
  4. 配置 node 软连接:ln -s /usr/local/node-v6/bin/node /bin/node
  5. 配置 npm:ln -s /usr/local/node-v6/bin/npm /bin/npm
  6. 将 /usr/local/node-v6/bin 目录添加到 $PATH 环境变量中可以方便地使用通过 npm 全局安装的第三方工具:
  1. echo 'export PATH=/usr/local/node-v6/bin:$PATH' >> /etc/profile
  2. // 生成环境变啦ing
  3. source /etc/profile
  1. 通过 npm 安装进程管理模块 forevernpm install forever -g

1.2 关闭指定端口服务

  1. 全局安装npm install -g xl_close_port
    2. 关闭某一个端口 ( 8081 )xl_close_port -p 8080

1.3 使用 pm2 全局管理 node 应用

image.png

二、express 环境基本环境

express 官网

express 使用

  1. 使用如下命令安装 node.js:curl --silent --location [https://rpm.nodesource.com/setup_8.x](https://rpm.nodesource.com/setup_8.x) | sudo bash - yum -y install nodejs
  2. 创建工作目录:mkdir -p /data/release/hello
  3. 进入工作目录:cd /data/release/hello
  4. 初始化项目:通过 npm init 命令为你的应用创建一个 package.json 文件
    输入一系列参数:
    image.png

除了 entry point 输入 app.js 作为入口文件
5. 安装 Express :npm install express --save // 临时安装,不添加到 依赖列表,省略 — save
6. 安装:npm install express
7. 在 hello 中,创建 app.js,然后加入如下代码

  1. var express = require('express');
  2. var app = express();
  3. app.get('/', function (req, res) {
  4. res.send('Hello World!');
  5. });
  6. var server = app.listen(3000, function () {
  7. console.log('Example app listening on port 3000!');
  8. });

代码解释:

上面的代码启动一个服务并监听从 3000 端口进入的所有连接请求。他将对所有 (/) URL 或 路由 返回 “Hello World!” 字符串。对于其他所有路径全部返回 404 Not Found 。

  1. 启动应用:node app.js
  2. 访问服务:http://www.gorit.cn:3000/
  3. ctrl + c 终止 服务
  4. Express 应用生成器:npm install express-generator -g
  5. -h 选项可以列出所有可用的命令行选项:express -h
  6. 创建项目,进入工作目录:cd /data/release
  7. 执行如下命令,在当前工作目录下创建一个命名为 myapp 的应用:express myapp
  8. 进入该应用目录: cd myapp
  9. 安装所有依赖包:npm install
  10. 启动应用 (mac 或者 linux 平台):DEBUG=myapp npm start
  11. 然后可以通过 ip + 3000 访问界面

image.png

基本路由:

Express 路由简介 路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问。 每一个路由都可以有一个或者多个处理器函数,当匹配到路由时,这些函数将被执行。

路由的定义:

app.METHOD(PATH, HANDLER)

  • app 是一个 express 实例;
  • METHOD 是某个 HTTP 请求方式 中的一个
  • PATH 是服务器端的路径;
  • HANDLER 是当路由匹配到时需要执行的函数。

一个简单的 Express 路由

  1. 修改 hello 项目,返回 hello 项目:cd /data/release/hello
  2. 编写 app.js :
  1. var express = require('express');
  2. var app = express();
  3. // 对网站首页的访问返回 "Hello World!" 字样
  4. app.get('/', function (req, res) {
  5. res.send('Hello World!');
  6. });
  7. // 网站首页接受 POST 请求
  8. app.post('/', function (req, res) {
  9. res.send('Got a POST request');
  10. });
  11. // /user 节点接受 PUT 请求
  12. app.put('/user', function (req, res) {
  13. res.send('Got a PUT request at /user');
  14. });
  15. // /user 节点接受 DELETE 请求
  16. app.delete('/user', function (req, res) {
  17. res.send('Got a DELETE request at /user');
  18. });
  19. var server = app.listen(3000, function () {
  20. console.log('Example app listening on port 3000!');
  21. });
  1. 开启服务node app.js

测试:
你可以使用 curl 命令或 Postman 等工具进行测试。

  1. curl -X POST http://49.234.206.172:3000
  2. curl -X PUT http://49.234.206.172:3000/user
  3. curl -X DELETE http://49.234.206.172:3000/user

利用 Express 托管静态文件

通过 Express 内置的 express.static可以方便地托管静态文件,例如图片、CSS、JavaScript 文件等。

  1. 创建静态目录,创建 public 目录:mkdir -p /data/release/hello/public
  2. 在 public 目录下,创建 hello.html
  3. 修改 应用,改变 app.js,我们在 app.js 中将静态资源文件所在的目录作为参数传递给 express.static中间件,这样就可以提供静态资源文件的访问了。
  1. var express = require('express');
  2. var app = express();
  3. app.use(express.static('public'));
  4. var server = app.listen(3000, function () {
  5. console.log('Example app listening on port 3000!');
  6. });
  1. 启动应用:node app.js
  2. 访问页面:[http://49.234.206.172:3000/hello.html](http://49.234.206.172:3000/hello.html)

static 中间件的更多用法
  1. 多个目录:如果你的静态资源存放在多个目录下面,你可以多次调用 express.static中间件:
  1. app.use(express.static('public'));
  2. app.use(express.static('files'));
  1. 指定路径:如果你希望所有通过 express.static访问的文件都存放在一个“虚拟(virtual)
  1. var express = require('express');
  2. var app = express();
  3. app.use('/static', express.static('public'));
  4. var server = app.listen(3000, function () {
  5. console.log('Example app listening on port 3000!');
  6. });

image.png