fcgi function

2025-12-07 0 352

FCGI功能

fcgi function是基于C/CPP语言的接口,它构建在FastCGI的基础上,并具有内置功能处理程序支持,它还提供了有用的收集工具来增强设施。它可以与nginx fastcgi模块集成

它如何工作

安装了先决权

nginx –https://www.***nginx.com/

FCGI库-https://g*it*hub.co*m/fastcgi-archives/fastcgi.com

cmake和制造

支持的OS:Linux,Mac OSX和Windows

递归克隆存储库

git克隆-Recursive https://g*ith*ub.*com/taymindis/fcgi-function.git

如何构建

只需在您的项目中加入ffunc.h和ffunc.c,最简单的方式(适用于Linux,Darwin和Windows平台)

建立样本

gcc profile_service.c ffunc.c ffunc.h -lfcgi -pthread -ldl -rdynamic

g ++ profile_service.cpp ffunc.c ffunc.h -lfcgi -pthread -ldl -rdynamic

G ++ -STD = C ++ 11 -I/HOME/HOME/XXX/CPPLIB/SPDLOG -0.17.0/include -dspdlog_fmt_printf service_with_with_spdlog.cpp ffunc.c ffunc.c ffunc.c ffunc.h -lfcgi -lfcgi -pthRead -pthRead -pthread -pthRead -lddl -lddlynamic namemic

当您输入时

./ simple_service

它将结果: –

Service starting
sock_port=2005, backlog=16
total function = 3
64 threads in process
Socket on hook 2005

通过设置ffunc_conf->daemon = 1在后台运行,请参见模式详细信息示例

 int ffunc_main ( int argc , char * argv [], ffunc_config_t * ffunc_conf ) {
  ffunc_conf -> sock_port = 2005 ;
  ffunc_conf -> backlog = 160 ;
  ffunc_conf -> max_thread = 64 ;
  ffunc_conf -> daemon = 1 ; // run as daemon
  ffunc_parse_function ( ffunc_conf , \"getProfile\" , \"postError\" , \"postProfile\" );
  return 0 ;
}

在Valgrind上运行(性能会影响)

valgrind-leak-check = full-show-leak-kinds = all – trace-children = yes ./ simple_service

通过在您的服务器块中附加编辑nginx配置文件夹中的nginx.conf: –

 location /getProfile {
  add_header Allow \"GET, POST, HEAD\" always;
  if ( $request_method !~ ^(GET|HEAD)$ ) {
    return 405;
  }
  include /etc/nginx/fastcgi_params;
  fastcgi_param FN_HANDLER getProfile;
  fastcgi_pass 127.0.0.1:2005;
}

location /postProfile {
  add_header Allow \"GET, POST, HEAD\" always;
  if ( $request_method !~ ^(POST)$ ) {
    return 405;
  }
   include /etc/nginx/fastcgi_params;
  fastcgi_param FN_HANDLER postProfile;
  fastcgi_pass 127.0.0.1:2005;
}

通过附加在您的httpd配置文件夹中编辑httpd.conf

 <Location \"/getProfile\">
    # Timeout values are in seconds
    ProxyPass \"fcgi://127.0.0.1:2005\" connectiontimeout=300 timeout=300
    ProxyPassReverse \"fcgi://127.0.0.1:2005\"
    SetEnv  FN_HANDLER \"getProfile\"
</Location>

您会看到fn_handler是功能名称映射,其中包含simple_service代码中的函数,fastcgi port 2005是您开始使用的服务(请查看步骤10以获取更多详细信息。

启动NGINX/HTTPD服务器

使用Apache基准测试获得请求加载测试

AB -C 100 -N 10000 http://127.0.0.1:80/getProfile

用于后请求负载测试

AB -P“ PAYLOAD.TXT” -T应用程序/JSON -C 100 -N 10000 http://127.0.0.0.1:80/postProfile

有效load.txt在根目录内

关闭背景实例

通过使用kill -2 <pid>杀死该过程

对于Valgrind Log,您将在kill -2 <pid>后获得摘要报告

如何构建Docker图像的示例

 cd DockerExample
docker build -t nginx_ffunc -f Dockerfile_ngx_ffunc .
docker run -d -v ~ /fcgi-function/DockerExample:/tmp -p 80:80 --name testffunc nginx_ffunc
curl \" http://127.***0.0.1/getProfile \"

记录建议

由于内置的日志记录机制,将降低过程速度,建议使用第三方记录机制为您的应用层进行: –

C ++ SPDLOG

C ++ G3log

C mini-assync-log

请联系Minikawoon2017@gmail.com,以获取更多端到一层项目示例。

下载源码

通过命令行克隆项目:

git clone https://github.com/Taymindis/fcgi-function.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 fcgi function https://www.zuozi.net/31923.html

Identity.Dapper
上一篇: Identity.Dapper
DuckieTV
下一篇: DuckieTV
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务