一、创建项目

#创建项目目录
cd /data
mkdir webroot
cd webroot #初始化git
git init
vim .gitignore
输入:
node_modules/
保存:
:wq #初始化npm,生成package.json
npm init #安装express
npm install -D express #创建入口文件
vim app.js 输入:
var express = require('express');
var app = express(); app.get('/', function (req, res) {
res.send('Hello World!');
}); app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});

二、使Node.js在后台运行

最简单的方法是:

$ nohup node app.js &

使用forever(https://github.com/foreverjs/forever)或者pm2能做更多的事情

使用forver:

#安装forever
$ npm install -g forever #帮助
forever --help #启动
forever start app.js #停止
forever stop app.js #输出日志和错误
forever start -l forever.log -o out.log -e err.log app.js #重启后append log,使用 -a
forever start -l forever.log -o out.log -e err.log -a app.js

#实现修改Node.js代码后服务自动启动,使用 -w
forever start -l forever.log -o out.log -e err.log  -aw app.js

三、使Node.js在后台运行

设置静态文件缓存

// Serving static files
var options = {
dotfiles: 'ignore',
etag: false,
extensions: ['js', 'css'],
index: false,
maxAge: '1d',
redirect: false,
setHeaders: function (res, path, stat) {
res.set('x-timestamp', Date.now());
}
};
app.use(express.static('public', options));

设置前默认的响应:

设置后:

Node.js server使用的更多相关文章

  1. Node.js HTTP Server对象及GET、POST请求

    上一博客学习了请求与响应,2次读2次写,但有一个问题就是客户端写入的时候怎么知道请求到达.所以HTTP Server对象出现了.它提供了实现HTTP服务器的基本框架.它可以监听端口的底层套接字和接收请 ...

  2. 基于Node.js的实时推送 juggernaut

    基于Node.js的实时推送 juggernaut Juggernaut 基于 Node.js 构建.为浏览器和服务器端提供一个实时的连接,可在客户端和服务器端进行数据的实时推送,适合多角色游戏.聊天 ...

  3. 基于Debian系统配置Nginx环境的Node.js应用教程

    Node.js,是当前比较流行的能够动态的快速响应内容的JavaScript框架,在有些环境下比我们使用的PHP应用都能够提高效率.目 前,Node.js可以与我们常用的Nginx.Apache等服务 ...

  4. [转]Build An Image Manager With NativeScript, Node.js, And The Minio Object Storage Cloud

    本文转自:https://www.thepolyglotdeveloper.com/2017/04/build-image-manager-nativescript-node-js-minio-obj ...

  5. Practical Node.js (2018版) 第9章: 使用WebSocket建立实时程序,原生的WebSocket使用介绍,Socket.IO的基本使用介绍。

    Real-Time Apps with WebSocket, Socket.IO, and DerbyJS 实时程序的使用变得越来越广泛,如传统的交易,游戏,社交,开发工具DevOps tools, ...

  6. [转]Node.js tutorial in Visual Studio Code

    本文转自:https://code.visualstudio.com/docs/nodejs/nodejs-tutorial Node.js tutorial in Visual Studio Cod ...

  7. [转]Building a REST-Backend for Angular with Node.js & Express

    本文转自:https://malcoded.com/posts/angular-backend-express Angular is a single page application framewo ...

  8. Node.js ECONNREFUSED错误

    1 现象 node服务器 遇见此错误,如下:events.js:71throw arguments[1]; // Unhandled 'error' event^Error: connect ECON ...

  9. TCP Socket Programming in Node.js

    TCP Socket Programming in Node.js Posted on October 26th, 2011 under Node.jsTags: Client, node.js, S ...

  10. Node.js学习笔记(3) - 简单的curd

    这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简 ...

随机推荐

  1. 为什么JAVA中(byte)128结果为-128;(byte)-129结果为127

    为什么JAVA中(byte)128结果为-128;(byte)-129结果为127 在JAVA中默认的整型为int型,int型占4个字节,为32位.byte占一个字节为8位. JAVA中的二进制都是采 ...

  2. IntelliJ IDEA 工具识别不了 过大Java文件 引用识别的不了的文件报错

    之前出现过proto 生成的文件过大 idea 识别不了 引用消息报错. 解决方案 1.找到IntelliJ IDEA 桌面快捷键图标 右键属性 2.打开文件位置,找到所在目录 3.找到idea.pr ...

  3. linux服务器项目迁移非常好用的工具scp和rsync

    linux系统下一般都安装了,启用一下就可以了 (1):编辑配置文件 # sudo vi /etc/default/rsync #ubuntu  # vi /etc/xinetd.d/rsync #c ...

  4. iOS开发之定时器和tableview滑动阻塞问题

    NSTimer *timer = [[NSTimer alloc]initWithFireDate:[NSDate distantPast] interval:1 target:self select ...

  5. Linux基础第十章:系统安全及应用

    目录 一.账户安全措施 1.账户管理 2.锁定配置文件 3.清除历史记录 二.sudo 1.sudo概念及优点 2.使用sudo 3.sudo实操演示 4.设置sudo别名 5.sudo特别注意 一. ...

  6. ES6的模块化(import引入)

    先做个前提,新建三个模块JS文件m1,m2,m3,其中m1.js 为分别暴露,m2.js 为统一暴露,m3.js 为默认暴露.接下来进行文件的import引入 1.通用的引入方式,这种方式适合任何暴露 ...

  7. holiday05

    第五天 cat cat会一次性显示所有的内容,适合查看 内容较少 的文本文件 选项 含义 -b 对非空输出行编号 -n 对输出的所有行编号 more more每次只显示一页内容,适合于查看 内容较多 ...

  8. QT窗口显示的风格设置

    在main.cpp中添加头文件#include <QStyleFactory> 然后在QApplication a(argc, argv);后添加 a.setStyle(QStyleFac ...

  9. Linux文本文件及处理工具

    Linux中的文本信息 文本文件 C语言,Java语言等编程文件的源程序语言 文本格式的数据文件 文本格式的文字信息 在Linux下一切皆文件 everything is file,包括目录也是文件的 ...

  10. AX2012 使用HTML自定义popup内样式

    在Class Box下新增方法如下: public client static DialogButton yesNoHTML( str _text, DialogButton _defaultButt ...