nginx_fastcgi_c++ 服务器环境搭建

【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布 由于最近工作的需要,本人学习了一下利用高性能web server - Nginx,来发布C/C++编写的fastCGI程序,详细细节如下。 1.介绍     Nginx - 高性能web server,这个不用多说了,大家都知道。     FastCGI程序 - 常驻型CGI程序,它是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进 阅读详情

1.Nginx

1.1.安装

  1. Nginx 的中文维基 http://wiki.codemongers.com/NginxChs 下载 Nginx 0.6.26(开发版)(请下载最新版本)
  2. tar zxvf nginx-0.6.26.tar.gz
  3. ./configure,注意了类似checking for *** ... not found项,可能是依赖包没有,则需要安装依赖包
  4. 缺少PCRE,yum install pcre安装。或者去:http://www.pcre.org/
  5. 如果缺少OpenSSL,yum install libssl-dev,或者去:http://www.openssl.org
  6. 如果缺少zlib,可以yum install zlib1g,或者http://www.zlib.net/
  7. make & make install
  8. 建议安装在/usr/local/nginx下

1.2 启动 

     /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

2.FastCGI开发库安装
2.1 安装fastcgi库
./configure
make
make install

2.2 示例程序
   
  1. #include <fcgi_stdio.h>
  2. int main( int argc, char *argv[] )
  3. {
  4.   while( FCGI_Accept() >= 0 )
  5.   {
  6.       FCGI_printf( "Status: 200 OK\r\n" );
  7.       FCGI_printf( "Content-Type: text/html\r\n\r\n" );
  8.       FCGI_printf( "Hello world in +++++++\n" );
  9.   }
  10.   return 0;
  11. }
编译后的二进制程序为t.cgi

3.spawn-fcgi

先有必要有这样第一个认识:ngxin作为一个webserver,本身并不包含CGI的解释器,需要通过一个中间件【例如php-fpm】来运行CGI。他们之间的模式大致是:
      nginx   <--   socket   -->   php-fpm-------->php   
那么nginx既然要运行c写的CGI那么也应该有类似php-fpm的东西。baidu, google了下,发现有一个spawn-fcgi的东西。原本是lighttp 内的fastcgi进程管理器

3.1 安装 spawn-fcgi

   
  1. wget   http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz
  2. tar zxvf  lighttpd-1.4.19.tar.gz    
  3. cd  lighttpd-1.4.19
  4. ./configure
  5. make
复制 编译好的spawn-fcgi到 nginx目录,很主要!!!!

    
  1. cp ./src/spawn-fcgi /usr/local/nginx/sbin/

3.2 启动spawn-fcgi

    
  1.  spawn-fcgi -a 127.0.0.1 -p 7000 -f /home/jiangf/t.cgi
​

4.配置nginx.conf

    
  1. location ~ \.cgi$
  2.   {
  3.         fastcgi_pass  127.0.0.1:7000;
  4.         fastcgi_index index.cgi;
  5.         fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  6.         include fastcgi_params;
  7.     }

最后在浏览器中输入
《Nginx模块开发指南:使用C++11和Boost程序库》罗剑锋 azw3 Nginx 是由俄罗斯工程师Igor Sysoev 开发的一个高性能Web 服务器,运行效率远超传统的Apache、Tomcat,是世界第二大Web 服务器,被国内外诸多顶级互联网公司采用。 Nginx 的一个突出特点是其灵活优秀的模块化架构,可以在不修改核心的前提下增加任意功能,自2004 年发布至今,已经拥有百余个官方及非官方的功能模块(如fastcgi、memcached、mysql 等),使得Nginx 成长为了一个近乎“全能”的服务器软件。 Nginx 以纯C 语言实现,开发扩展功能模块也大多使用C 语言,但由于C 语言固有的过程式特性,编写、调试代码都较麻烦——特别是对于Nginx 的初学者。《Nginx 模块开发指南:使用C++11 和Boost 程序库》深入源码,详细解析了模块体系、配置指令、HTTP 框架等Nginx 核心运行机制,并在此基础上讲解如何使用C++和Boost 程序库来开发Nginx 模块,充分利用现代C++里的大量新特性和库组件,让Nginx 的模块开发变得更加便捷、轻松和愉快。 《Nginx 模块开发指南:使用C++11 和Boost 程序库》结构严谨、脉络清晰、论述精确、详略得当,值得广大软件开发工程师、系统运维工程师和编程爱好者拥有。 立即下载

相关推荐

fastcgipp:fastcgi ++:一个C ++ FastCGI和Web开发平台:

fastcgipp:fastcgi ++:一个C ++ FastCGI和Web开发平台:

C++文件服务器项目—Nginx—3

本文重点介绍nginx的安装与配置,实现反向代理和负载均衡。

清风 3454

Fastcgi学习总结(C/C++语言版)

网络上实在是找不到用C/C++写fastcgi web应用的例子,我根据自己做过的一个项目做了些总结。里面有一个详细C语言写的的范例程序。C++的版本也是大同小异,大家注意留心fastcgi++包里面的C++示例源代码。 好像很少有人用C/C++来开发fastcgi程序,为此,我把自己的一些经验做一个入门级的引导。我测试过我们的项目性能真的很不错!如果有什么问题,欢迎深入探讨,我的QQ:21104191 这样才能壮大C++开发fastcgi的队伍,好东西不能浪费啊!

探秘纯C++实现的Nginx与原版对比项目:`nginx_vs`

探秘纯C++实现的Nginx与原版对比项目:nginx_vs 项目简介 在Web服务领域,Nginx以其高性能和高并发能力而闻名。然而,你是否想过一个完全用C++重写的Nginx会是怎样的呢?项目就是这样的尝试,它提供了一个纯C++实现的Nginx服务器,并与原版Nginx进行了性能比较。 技术分析 该项目的核心目标是对Nginx进行现代化改造,利用C++17及以上的特性,如模板元编程、协程等,以...

gitblog_00041的博客 492

kcgi:CC ++的最小CGI和FastCGI库

kcgi:CC ++的最小CGI和FastCGI库

fastcgiqt:使用 Qt 和 C++ 编写 Web 应用程序的库

不支持 我不再处于使用此功能的情况。 如果某个特定的分叉变得流行,请提交问题,我将在此处链接到它。 快速登录 使用 Qt 和 C++ 编写 Web 应用程序的库

C/C++编程:nginx入门

是什么 nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 Nginx专为性能优化而开发,性能是器最重要的考量,实现上非常注重效率,能经受高负载的考验,据报告能支持高达50,000个并发连接数。 Nginx不仅能做反向代理,实现负载均衡;还能可以作正向代理来进行上网等功能。 特点 高并发,高

OceanStar的博客 3327

TSEND_C指令错误代码解析与实战排错指南

本文详细解析西门子PLC中TSEND_C指令的常见错误代码,包括连接建立、参数配置、资源限制和网络通信等错误类型。针对错误代码80C4等典型问题提供实战排错指南,帮助工程师快速诊断和解决工业通信中的连接故障,提升系统可靠性。

backprop5master的博客 410

深入浅出,结合实战,让你彻底搞懂Nginx

本文首先介绍 Nginx 的反向代理、负载均衡、动静分离和高可用的原理,随后详解 Nginx 的配置文件,最后通过实际案例实现 Nginx 反向代理和负载均衡的具体配置。学会 Nginx ,一篇足够了。 简介   Nginx 是开源的轻量级 Web 服务器、反向代理服务器,以及负载均衡器和 HTTP 缓存器。其特点是高并发,高性能和低内存。   Nginx 专为性能优化而开发,性能是其最重要的考...

ZYQZXF的博客 1万+

SECS/GEM协议中的关键指令详解:从S1F1到S9F9的完整指南

本文详细解析了SECS/GEM协议中从S1F1到S9F9的关键指令,涵盖设备状态管理、控制诊断、报警处理等核心功能。通过实际案例和调试技巧,帮助开发者掌握半导体制造设备通信标准,解决SECS/GEM协议在实际工程应用中的通讯难题,提升生产线智能化水平。

weixin_26899659的博客 397

Cisco思科 电子科技大学计算机网络 SRWE 期末技能考试 (PTSA)

电子科技大学2024春_SRWE_计算机网络系统 SRWE 期末技能考试 (PTSA)

2301_76745065的博客 5094

C++(Linux下搭建Nginx环境)

2、可以看到已经启动成功了,下一步查看是否可以正常使用,可以在Windows下的浏览器去访问linux的ip,会出现欢迎页面。执行了configure生成的中间文件目录,该目录存在一个名为ngx_modules.c文件,它 决定了编译Nginx的时候有哪些模块会被编译到nginx里面。3、使用make命令开始安装,安装完成后可以在/user/local/目录下看到nginx目录,它默认安装在这个路径下。4、进入解压后的目录,可以看到Nginx已经成功下载并解压了。

qq_56728342的博客 1355

YOLOv8_obb的C++工程部署实战:从模型转换到实时视频推理

本文详细介绍了YOLOv8_obb模型在C++环境下的完整工程部署流程,涵盖从PyTorch模型到ONNX格式的转换、基于ONNX Runtime的C++推理引擎搭建、旋转框后处理解析,以及实时视频流处理与性能优化。文章重点解析了模型转换的关键参数、环境配置的常见问题、核心推理代码的实现,并提供了实用的避坑指南,旨在帮助开发者高效完成YOLOv8_obb的C++工程部署。

weixin_29100927的博客 44

C++学习之游戏服务器开发十三CGI和FASTCGI

C++学习之游戏服务器开发十三CGI和FASTCGI

qq_27302885的博客 715

“华为杯”研究生数学建模竞赛2016年-【华为杯】A题:多无人机协同任务规划

题分别求解,保证了攻击方无人机滞留在防御方雷达有效探测范围内的时间总和最小,接着,通过提出巡检待命无人机的设想,型无人机携带炸弹的具体清单和攻击的目标清单),保证攻击方的无人机滞留防御方雷。在使用基于贪心算法的覆盖法时,覆盖的目标点中必须首先不含配备雷达站的目标点。步优化保证攻击方的无人机滞留防御方雷达有效探测范围内的时间总和最小,需首先。的“灵巧”炸弹,采用抛投方式对地攻击,即投放后炸弹以飞机投弹时的速度作抛物。运动,当炸弹接近目标后,可主动寻的攻击待打击的目标,因此炸弹落点位于目标中。

getusushu的博客 1034

YOLOv11改进有效系列目录 - 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制 - 针对多尺度、小目标、遮挡、恶劣天气等问题

在一些特定情况下,目标检测任务由于多种因素的影响,变得更加复杂和困难。以下是几类常见的困难目标检测场景:1. 小目标检测定义:小目标检测是指当目标在图像中的占比非常小时,模型需要准确识别和定位这些目标。典型场景包括远程监控、卫星图像分析等。挑战1. 低分辨率:由于目标在图像中占据像素较少,细节缺失,特征提取难度增加。2. 特征不足:小目标缺乏明显的形状和纹理特征,容易被复杂背景淹没。3. 检测难度大:由于小目标与背景之间的对比度较低,误检的几率上升。4. 数据不平衡。

qq_64693987的博客 4万+

Nginx + CGI/FastCGI + C/Cpp

Nginx + CGI/FastCGI + C/Cpp 2014-12-19 11:05 by 吴秦, 10329 阅读, 5 评论, 收藏, 编辑 接着上篇《Nginx安装与使用》,本篇介绍CGI/FASTCGI的原理、及如何使用C/C++编写简单的CGI/FastCGI,最后将CGI/FASTCGI部署到nginx。内容大纲如下: 1.     CGI 1.1.     环境变...

weixin_34306676的博客 94

Keras深度学习实战(32)——基于LSTM预测股价

股价预测是时间序列预测中最具挑战性的问题之一,研究股价预测问题具有重要的理论意义和应用价值。针对循环神经网络在股价预测中存在的长期依赖等缺点,本文引入了长短时记忆神经网络以提高股价预测的效果。同时,我们把有关公司的新闻标题的文本数据作为模型的输入变量时,发现预测效果更好,因此我们可以把有关公司的新闻标题的文本数据作为一个有效的输入变量。最后,通过利用 Keras 实现了以上两个股价预测模型,并进行了性能分析和对比。

盼小辉丶的博客 1万+

Nginx + FastCgi + Spawn-fcgi + C 架构的server环境搭建

1.Nginx 1.1.安装 Nginx 的中文维基 http://wiki.codemongers.com/NginxChs 下载 Nginx 0.6.26(开发版)(请下载最新版本号)tar zxvf nginx-0.6.26.tar.gz./configure。注意了类似checking for *** ... not found项,可能是依赖包没有。则须要安装依...

weixin_34004576的博客 174

输入文件(Example-1.inp)参数解读与获取方法

弹性参数:优先使用默认值(泊松比 0.25、杨氏模量 8×10⁵ bars),或参考区域地质 / 地球物理研究。断层参数:从地震矩反演、GPS 位移反演、地质图 / 震源机制获取(核心参数,需确保准确性)。网格 / 图形参数:根据研究区范围和输出需求调整(步长 / 放大系数等)。

2301_79258000的博客 81

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C++文件服务器项目—FastCGI—4

本文重点介绍FastCGI的概念、如何编写FastCGI程序,以及nginx如何配合fastCGI使用。

清风 3872

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Nginx反向代理C++ REST服务:FastCGI架构实战与生产环境部署

在构建高性能Web服务时,进程间通信(IPC)和反向代理是核心架构模式。通过将网络I/O与业务逻辑解耦,可以实现高并发与稳定性。Nginx作为高性能Web服务器,常通过FastCGI协议与后端应用进程通信,扮演流量网关和协议转换器的角色。这种架构在C++生态中尤为关键,因为C++缺乏开箱即用的Web框架,但凭借其计算性能优势,常被用于核心模块开发。将Nginx与C++进程结合,既能利用Nginx处理HTTP请求、负载均衡和静态资源服务,又能让C++专注业务计算,形成一套经典且稳定的技术方案。本文以FastC

dggnqzt6462的博客 377

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

window下搭建nginx+C++开发环境

安装nginx### 最近要搭http服务器,经过谷歌和请教高手,决定选择nginx,在window上搭建nginx,网上一大堆,都挺好使的,我参照的是:(原)nginx+FastCGI+c++。nginx安装后,启动的时候遇到了这个为问题:Win7下Nginx启动失败,80端口被占用然后在Win7下Nginx启动失败,80端口被占用找到了解决方法。 现在要说道问题的重点了,因为我是要用C++...

3599

云盘项目(三)——Nginx服务器配置FastCGI程序

Web服务器(也称WWW服务器,一般指网站服务器)主要功能是提供网上信息浏览服务,目前最主流的三个Web服务器是Apache、Nginx、IIS。 可以简单理解为,如果在一台主机上配置了服务器软件,使它可以解析HTTP协议并处理HTTP请求,那这台主机就是一台Web服务器了。 在之前一篇文章Nginx反向代理服务器的配置(详细)里我们介绍过,Nginx可以通过简单配置就能搭建出一个...

gjw的博客 768
上一篇: Storm源码结构 (来源Storm Github Wiki)
下一篇: PyCharm 使用简介
jiangfeng999
博客等级 码龄23年 122粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值