【Boost】:http_server模块(六)

http_server模块

  • 一.安装cpp-httplib库
  • 二.基本使用服务器

一.安装cpp-httplib库

可以自己写一个http服务器,但比较麻烦,这里直接使用库。

在gitee上搜索cpp-httplib,任意找一个即可(建议使用0.7.15版本)。例如:https://gitee.com/welldonexing/cpp-httplib/tags?page=3(注意由于是用户进行上传的,所以链接有可能失效,可以自己搜索)

【Boost】:http_server模块(六)_第1张图片

【Boost】:http_server模块(六)_第2张图片

【Boost】:http_server模块(六)_第3张图片

【Boost】:http_server模块(六)_第4张图片

接下来拖到云服务器上,再进行解压即可。接下来建立软链接到data目录下(当然建立软链接是为了方便找到,不建立只要能找到路径都行)

【Boost】:http_server模块(六)_第5张图片

注意:使用该库需要较新的gcc,可以使用gcc -v查看版本。

升级gcc(三条指令):

  1. sudo yum install centos-release-scl

  2. sudo yum install devtoolset-8-gcc*

  3. scl enable devtoolset-8 bash

接下来使用gcc -v再查看版本:

【Boost】:http_server模块(六)_第6张图片

二.基本使用服务器

创建一个http_server.cc文件和wwwroot目录用以存放主页面(一般主页面名为index.htmp)。(为了不混淆,把上一章写的server.cc改名为debug.cc)

【Boost】:http_server模块(六)_第7张图片

http_server.cc

#include "cpp-httplib/httplib.h"

const std::string root_path="./wwwroot";

int main()
{
  httplib::Server svr; // 创建对象

  // 测试
  svr.set_base_dir(root_path.c_str());//主页面
  svr.Get("/hi", [](const httplib::Request &rep, httplib::Response &rsp)
          { rsp.set_content("你好,世界", "test/plain: charset-utf-8"); });

  svr.listen("0.0.0.0",8081);
      return 0;
}

index.html

<html>
<head>
  <meta charset="UTF-8">
  <title>for testtitle>
head>
<body>
  <h1>你好,世界h1>
  <p>这是一个httplib的测试网页p>
body>
htm1>

测试

将服务器运行起来,在浏览器上输入云服务器的ip和端口号(8081),就可以跳转到主页面上。

【Boost】:http_server模块(六)_第8张图片

坑:注意阿里云有安全系统,如果你一直连不上就要考虑端口是否开放了。

开放示例:可以使用netstat -ntlp查看服务器是否启动

【Boost】:http_server模块(六)_第9张图片

【Boost】:http_server模块(六)_第10张图片

【Boost】:http_server模块(六)_第11张图片

你可能感兴趣的:(boost搜索引擎,http,网络协议,网络)