Web服务器与Nodejs搭建

184 阅读1分钟

Web服务器

Web服务器选型

  • Nodejs
  • Nginx
  • Apache

Web服务工作原理

image.png

Nodejs工作原理

image.png

JavaScript解析

image.png

Nodejs事件处理

image.png

两个V8引擎

image.png

Nodejs环境搭建

安装

  • 二进制安装

      apt/brew/yum install nodejs
      apt/brew/yum install npm 
      
    
  • 源码安装

      下载Nodejs源码
      生成Makefile
      make -j 4 && sudo make install
      使用源码安装需要更改环境变量 vi ~/.bashrc 
      source ~/.bashrc
      
    

搭建简单http服务器

步骤

  • require引入http模块
  • 创建http服务
  • 侦听端口

启动Nodejs服务

  • node app.js /一次性

  • nohub node app.js & /日志输出问题

  • forever start app.js /长久有效

      //安装
      npm install forever -g
      //停止
      forever stop server.js
    

HTTPS服务

HTTPS=HTTP+TLS/SSL

基本原理

image.png

使用原因

  • 个人隐私以及安全原因
  • https是未来的缺失

Nedejs搭建HTTPS服务

  • 生成HTTPS证书
  • 引入HTTPS模块
  • 指定证书位置,并创建HTTPS位置

Web服务

步骤

  • 引用 express 模块

  • 引入 serve-index 模块

  • 指定发布目录

      'use strict'
    
      var http=require('http');
      var https=require('https');
      var fs=require('fs');
    
      var express=require('express');
      var serverIndex=require('serve-index');
    
      var app=express();
      app.use(serverIndex('./public'));
      app.use(express.static('./public'));
      //http
      var http_server=http.createServer(app);
    
      http_server.listen(8080,'0.0.0.0');
    
      //https
    
      var options={
              key:fs.readFileSync('./cert.key'),
              cert:fs.readFileSync('./cert.pem')
      }
      var https_server=https.createServer(options,app);
      https_server.listen(443,'0.0.0.0');
      
    

s