• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

cppweb: 基于C++开发的WEB服务器,支持C/C++、Python、Java等多语言混合开发WEB应用。 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

cppweb

开源软件地址:

https://gitee.com/xungen/cppweb

开源软件介绍:

功能说明

  1. 作者初衷是编写一个web框架支持C++开发cgi程序,于是cppweb诞生了。
  2. 作者希望cppweb是一个大一统的框架,即可用于传统服务端编程也可用于web编程,作者希望http协议能做的更多,框架包括以下两个核心服务:
webserver:业务服务容器,通过配置也可升级为服务注册中心与定时任务调度中心。webrouter:接口路由网关服务,对外提供统一的流量入口,主要负责请求分发以及黑白名称配置。
  1. cppweb在读数据采用epoll网络模型,以任务队列的方式处理具体请求,回包也在任务队列中处理,理论上cppweb可支持单机10000个以上的并发连接。
  2. cppweb易拓展,作者开发Java、Python等模块,用于支持Java、Python等语言开发cgi程序,开发者可以直接使用C/C++、Java、Python等语言进行混合开发。
  3. cppweb追求小而巧,对于开源库是拿来即用,源码工程自带zlib、sqlite等源码代码,开发者无需另外下载,再此感谢zlib、sqlite等开源库的作者与开发团队。
  4. 基于cppweb的微服务集群框架如下图所示,图中绿色部分包括服务注册中心与业务服务集群由webserver服务构成;图中红色部分包括外部接口网关与内部接口网关由webrouter接口路由网关服务构成。关于cppweb的更多内容请可访问https://www.winfengtech.com/cppweb查看。输入图片说明

测试数据

  1. cppweb在普通PC机(4核8G)上至少可支持每秒10000笔请求。
  2. cppweb在1核1G的低配centos系统上至少支持每秒3000笔请求。
  3. 下图是cppweb自身的流量监控数据:输入图片说明

安装编译

下面我们以centos与ubuntu系统的安装编译为例,讲解如何编译运行cppweb开发框架。如果系统没有自带openssl开发客户端,需要自行进行安装,ubuntu下可以执行apt-get install libssl-dev命令进行安装。
  1. 执行以下命令下载源码,你需要使用root用户进行安装编译。
git clone https://gitee.com/xungen/cppweb.git
  1. 如果是在windows环境下编译运行cppweb,你需要执行git checkout windows命令切换到windows分支,windows分支下已集成mingw编译环境,你可以在git-bash中进行编译安装。
  1. 进入源码目录先执行chmod +x *.sh命令,然后执行./compile.sh命令进行编译:
initialize configure---------------------------------------------1.check openssl success2.check g++ compiler success3.check java compiler success4.create product directory success--------------------------------------------->>> initialize build-essential success*** wait few minutes for compiling ***
  1. 正常情况3~5分钟完成编译,编译成功后用root用户执行./install.sh进行安装,输出如下内容说明安装成功。
install cppweb--------------------------------1.packaging files2.unpacking files3.installing service-------------------------------->>> install cppweb success
  1. 新建一个cppweb用户,登录cppweb用户执行以下命令将/home/cppweb/webapp目录初始化为的cppweb应用目录。
webserver -init /home/cppweb/webapp
  1. cppweb用户下执行以下命令启动webserver服务。
nohup webserver /home/cppweb/webapp/etc/config.yml > /dev/null &
  1. 执行webserver -l命令,可以查看cppweb服务日志,用浏览器打开http://localhost:8888地址进入cppweb管理中心,你可以用rootsystem账户登录cppweb管理中心,默认密码与用户名相同,首次登录后请马上修改登录密码。

配置文件config.yml示例

#应用配置app:  #应用ID  id: 1  #监听端口  port: 8888  #应用名称  name: cppweb  #应用根目录  path: /home/cppweb/webapp  #安全链接配置  ssl:    #SSL监听端口    port: 9999    #证书文件路径    certfile: /home/cppweb/webapp/etc/cert.crt    #证书私钥文件路径    prikeyfile: /home/cppweb/webapp/etc/cert.key  #静态资源目录映射配置  dir:    res: res  #静态资源文件映射配置  url:    favicon.ico: res/img/logo.png  #注册中心服务地址  route:    port: 8888    host: 127.0.0.1  #应用开关配置  switch:    java: false    route: true    python: false  connect:    timeout: 60    maxrequestsize: 10M    maxrequestcount: 1000#日志配置log:  path: /home/cppweb/webapp/log#缓存配置redis:  #port: 6379  #host: 127.0.0.1#数据库配置database:  type: sqlite  name: /home/cppweb/webapp/etc/sqlite.db

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap