web 服务器

这个服务器专门处理静态文件。来看代码:

  1. #include <mongols/web_server.hpp>
  2. int main(int,char**)
  3. {
  4. auto f=[](const mongols::request& req){
  5. if(req.method=="GET"&&req.uri.find("..")==std::string::npos){
  6. return true;
  7. }
  8. return false;
  9. };
  10. int port=9090;
  11. const char* host="127.0.0.1";
  12. mongols::web_server
  13. server(host,port,5000,512000,2);
  14. //server(host,port);
  15. server.set_root_path("html");
  16. server.set_mime_type_file("mime.conf");
  17. server.set_list_directory(true);
  18. server.set_enable_mmap(true);
  19. server.run(f);
  20. }

web_server可以通过set_enable_mmap来启用内存映射读取,在某些情况下可提升性能。

函数f可用来根据http请求过滤客户端。

关于并发性能,可参考(nginx欢迎页)下图:

wrk_web

ab_web

mongols比nginx(1 worker)更快——mongols并发2000也比nginx并发1000更快!

mongolsVSnginx

原文: https://mongols.hi-nginx.com/doc/web.html