美文网首页
搭建http服务器

搭建http服务器

作者: 睡神经你敢不敢不睡懒觉 | 来源:发表于2018-02-25 17:01 被阅读0次

    安装NodeJS 和 NPM

    使用下面的命令安装 NodeJS 和 NPM

    curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash - yum install nodejs -y
    

    安装完成后,使用下面的命令测试安装结果

    node -v
    

    编写HTTP Server 源码

    创建工作目录

    使用下面的命令在服务器创建一个工作目录:

    mkdir -p /data/release/weapp
    

    进入此工作目录

    cd /data/release/weapp
    

    创建 package.json

    在刚才创建的工作目录创建 package.json,添加我们服务器包的名称和版本号,可参考下面的示例。

    {
    "name": "weapp",
    "version": "1.0.0" 
    }
    

    添加 Server 源码

    在工作目录创建 app.js,使用 Express.js 来监听 8765 端口,可参考下面的示例代码。

    // 引用 express 来支持 HTTP Server 的实现
    const express = require('express');
    
    // 创建一个 express 实例
    const app = express();
    
    // 实现唯一的一个中间件,对于所有请求,都输出 "Response from express"
    app.use((request, response, next) => {
    response.write('Response from express');
    response.end();
    });
    
    // 监听端口,等待连接
    const port = 8765;
    app.listen(port);
    
    // 输出服务器启动日志
    console.log(`Server listening at http://127.0.0.1:${port}`);
    

    运行 HTTP 服务

    安装 PM2

    在开始之前,我们先来安装 PM2

    npm install pm2 --global
    

    PM2 安装时间可能稍长,请耐心等候
    NPM 仓库在国内访问速度可能不太理想,如果实在太慢可以尝试使用 CNPM 的 Registry 进行安装:

    npm install pm2 -g --registry=[https://r.cnpmjs.org/](https://r.cnpmjs.org/ "null")
    

    安装 Express

    我们的服务器源码里使用到了 Express 模块,下面的命令使用 NPM 来安装 Express

    cd /data/release/weapp
    

    npm install express --

    启动服务

    安装完成后,使用 PM2 来启动 HTTP 服务

    cd /data/release/weapp
    

    pm2 start app.js

    现在,您的 HTTP 服务已经在 http://139.199.220.199:8765运行

    要查看服务输出的日志,可以使用下面的命令:

    pm2 logs
    

    如果要重启服务,可以使用下面的命令:

    pm2 restart app
    

    搭建HTTPS服务

    安装Nginx

    在 CentOS 上,可直接使用 yum 来安装 Nginx

    yum install nginx -y
    

    安装完成后,使用 nginx 命令启动 Nginx:

    nginx
    

    此时,访问 http://139.199.220.168 可以看到 Nginx 的测试页面

    配置HTTPS反向代理

    外网用户访问服务器的 Web 服务由 Nginx 提供,Nginx 需要配置反向代理才能使得 Web 服务转发到本地的 Node 服务。

    先将之前下载的 SSL 证书(解压后 Nginx 目录分别以 crt 和 key 作为后缀的文件)通过拖动到左侧文件浏览器/etc/nginx目录的方式来上传文件到服务器上

    Nginx 配置目录在 /etc/nginx/conf.d,我们在该目录创建 ssl.conf

    server {
        listen 443;
        server_name www.example.com; # 改为绑定证书的域名
        # ssl 配置
        ssl on;
        ssl_certificate 1_www.example.com_bundle.crt; # 改为自己申请得到的 crt 文件的名称
        ssl_certificate_key 2_www.example.com.key; # 改为自己申请得到的 key 文件的名称
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
    
        location / {
            proxy_pass http://127.0.0.1:8765;
        }
    }
    

    按 Ctrl + S 保存配置文件,让 Nginx 重新加载配置使其生效:

    nginx -s reload
    

    在浏览器通过 https 的方式访问你解析的域名来测试 HTTPS 是否成功启动

    在小程序中测试HTTPS访问

    打开配套的小程序,点击 实验一:HTTPS,点击 发送请求 来测试访问结果。
    如果服务器响应成功,请点击下一步。

    相关文章

      网友评论

          本文标题:搭建http服务器

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