美文网首页
在Mac上通过nodejs实现一个web服务器

在Mac上通过nodejs实现一个web服务器

作者: 一叶知秋0830 | 来源:发表于2019-07-17 08:54 被阅读0次

由于没有购买云服务器和域名,本文主要介绍如何用nodejs搭建一个本地的web服务器。这里需要使用到express和serve-index这2个模块,所以需要先通过npm安装这两个模块(已经安装过的请忽略)。 (express模块是nodejs专门处理web服务的。serve-index是用于将服务器上的某个目录发布出来,目录下所有文件都可以通过浏览器浏览。)

// 安装express和serve-index
 sudo npm install express -g
 sudo npm install serve-index -g

然后打开终端,通过终端进入想要保存程序文件的目录。在该目录下新建httpAndHttps.js文件,然后再新建pem和public这2个文件夹,将生成的自签名证书和私钥2个文件拷贝到pem文件夹下(如何生成自签名证书);public文件夹是用于发布的目录,可以在里面随便放一些文件用于测试。
然后在httpAndHttps.js中代码如下(注意192.168.1.2是我的本地IP地址):

// 引入所需的各个模块
var http = require('http');
var https = require('https');
var fs = require('fs'); // 用于读取证书
var express = require('express');
var serve_index = require('serve-index');

// 定义一个express对象,用于web服务
var app = express();
// 发布静态目录,静态目录是当前路径下的public文件夹
app.use(serve_index('./public', {'icons': true}));
app.use(express.static('./public'));

// http服务
var http_server = http.createServer(app);
http_server.listen(8080,'192.168.1.2');

// https服务
// 读取证书
var options = {
   key : fs.readFileSync('./pem/private_key.pem'),
   cert : fs.readFileSync('./pem/cacert.pem')
};
var https_server = https.createServer(options,app);
https_server.listen(8081,'192.168.1.2');


在终端启动nodejs服务:

node httpAndHttps.js

然后在浏览器地址栏分别输入http://192.168.1.2:8080https://192.168.1.2:8081进行http和https访问,就可以直接浏览public文件夹下的文件(可以直接在浏览器打开文件夹下的文件进行浏览)。

public目录 浏览器看到的效果

相关文章

网友评论

      本文标题:在Mac上通过nodejs实现一个web服务器

      本文链接:https://www.haomeiwen.com/subject/eliwkctx.html