欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NodeJS搭建基础服务器

程序员文章站 2022-06-29 20:03:48
...

https://ahoj.cc

学习 WebRTC 需要一个基础的服务器,使用 Node.js 搭建一个基础的服务器。

服务器可用的有很多:Nginx、Apache、Node.js、Tomcat 等。

环境:Centos7 64

安装 Node.js

一般通过包管理器安装是比较方便的,如果包管理器源上没有相关软件可选择源码编译安装。

Centos 通过 yum 安装:

$ sudo yum install nodejs

源码安装参见官网和百度。

HTTPS

HTTPS = HTTP + TLS/SSL。

WebRTC 使用需要 HTTPS(按照网上的说法,没有只能在 localhost 跑)。

购买一个域名并备案(我借的学长的二级域名,解析到我的服务器上了)。

在域名提供商那里申请 SSL 证书,下载到服务器上。

CODE

需要用到的包 http、https、fs、express、serve-index。

后两个是需要 npm install 的,注意安装时如果想安装在全局需要加 -g 选项。

express 模块是 Node.js 中写 Web 服务器需要的一个模块。

serve-inde 模块是将整个目录发布出来用的,需要指定发布目录,代码中指定目录为 ./public

'use strict';

let http = require('http');
let https = require('https');
let fs = require('fs');

let express = require('express');
let serveIndex = require('serve-index');


let app = express();
app.use(serveIndex('./public'));
app.use(express.static('./public'));

// http server
let http_server = http.createServer(app);
http_server.listen(8087, '0.0.0.0');


// https server
let options = {  // 这里配置 SSL 证书地址
	key: fs.readFileSync('./cret/3162249_ahoj.luoshaoqi.cn.key'),
	cert: fs.readFileSync('./cret/3162249_ahoj.luoshaoqi.cn.pem')
};
let https_server = https.createServer(options, app);
https_server.listen(443, '0.0.0.0');

启动服务

node app.js
nohup node app.js  # 可以去了解一下 nohup 和 & 的区别
foever start app.js  # 需要 npm install forever -g

EOF