三、第五节 实现一个真正的 Web服务器

红太狼 2023-02-21 09:16 92阅读 0赞

引入 express 模块

express专门用于处理node服务的,它里面有很多功能,我们可能只是用到里面的一小部分,这一小部分也足够我们使用了。

引入 serve-index 模块

可以将我们整个目录发布出来,就行我们apach nginx里面发布整个目录,这个目录下面的所有的文件都共享出来了,都可以看到 ,通过浏览器进行浏览

指定发布目录

我们前面说了http和https知识,加上我们今天讲的两个模块,我们就可以构建一个真正的wen服务器了。

我们创建一个 文件夹 webserver,在里面创建一个server.js文件

我们今天创建这个web服务器既支持http也支持 https,并且我们设置了一个 发布目录,今后我们要发布的文件直接放在发布目录下,就可以直接通过浏览器访问了。

安装

npm install express

npm install serve-index

我们在public下建一个文件txt文件

  1. 'use strict'
  2. var http = require('http');
  3. var https = require('https');
  4. // 主要用于读取证书
  5. var fs = require('fs');
  6. var serveIndex = require('serve-index');
  7. var express = require('express');
  8. // 实例化express对象
  9. var app = express();
  10. //顺序不能换
  11. // 浏览路径 处理
  12. app.use(serveIndex('./public'));
  13. // 指定静态发布目录
  14. app.use(express.static('./public'));
  15. var options = {
  16. key : fs.readFileSync('./cert/1557605_www.learningrtc.cn.key'),
  17. cert : fs.readFileSync('./cert/1557605_www.learningrtc.cn.pem')
  18. }
  19. var https_server = https.createServer(options, app);
  20. https_server.listen(443, '0.0.0.0');
  21. var http_server = http.createServer(app);
  22. http_server.listen(80, '0.0.0.0');

node server.js 来运行程序

如果误报80端口被占用

20200629232244907.png

执行ps -ef | grep forever

查询是哪个进程占用了80端口

netstat -ntpl | grep 80

我们通过kill -9 -进程号,将该进程杀死

发表评论

表情:
评论列表 (有 0 条评论,92人围观)

还没有评论,来说两句吧...

相关阅读

    相关 一个简单web服务器java实现

    一个简单的web服务器在不考虑其性能及健壮性的情况下,通常只需实现的功能包括服务器的启动,它用于监听某一个端口,接收客户端发来的请求,并将响应结果返回给客户端。本文将介绍一个简