http_server模块
- 一.安装cpp-httplib库
- 二.基本使用服务器
一.安装cpp-httplib库
可以自己写一个http服务器,但比较麻烦,这里直接使用库。
在gitee上搜索cpp-httplib,任意找一个即可(建议使用0.7.15版本)。例如:https://gitee.com/welldonexing/cpp-httplib/tags?page=3(注意由于是用户进行上传的,所以链接有可能失效,可以自己搜索)
接下来拖到云服务器上,再进行解压即可。接下来建立软链接到data目录下(当然建立软链接是为了方便找到,不建立只要能找到路径都行)
注意:使用该库需要较新的gcc,可以使用gcc -v查看版本。
升级gcc(三条指令):
-
sudo yum install centos-release-scl
-
sudo yum install devtoolset-8-gcc*
-
scl enable devtoolset-8 bash
接下来使用gcc -v再查看版本:
二.基本使用服务器
创建一个http_server.cc文件和wwwroot目录用以存放主页面(一般主页面名为index.htmp)。(为了不混淆,把上一章写的server.cc改名为debug.cc)
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 test</title>
</head>
<body>
<h1>你好,世界</h1>
<p>这是一个httplib的测试网页</p>
</body>
</htm1>
测试
将服务器运行起来,在浏览器上输入云服务器的ip和端口号(8081),就可以跳转到主页面上。
坑:注意阿里云有安全系统,如果你一直连不上就要考虑端口是否开放了。
开放示例:可以使用netstat -ntlp查看服务器是否启动