Spawn-FCGI安装

2023-10-29

Spawn-FCGI安装

获取spawn-fcgi编译安装包, 在 http://redmine.lighttpd.net/projects/spawn-fcgi/wiki 上可
以获取当 前最新的版本。

tar -zxvf spawn-fcgi-x.x.x.tar.gz
cd spawn-fcgi-x.x.x.tar.gz
./configure。
make
sudo make install
如果遇到 以下错误:
如果遇到 以下错误:

. /autogen. sh: x: autoreconf: not found

因为没有安装automake 工具, ubuntu用 下面的命令安装好就可以了

sudo apt-get install autoconf automake libtool 

spawn-fcgi的帮 助信息可以通过man spawn-fcgi或spawn-fcgi –h获得, 下面是部分常用
spawn-fcgi参数信息:

Nginx与FastCGI

f 指定调用 FastCGI的进程的执行程序位置
- a 绑定到 地址addr。
- p 绑定到 端口 port。
- s 绑定到 unix domain socket
- C 指定产 生的FastCGI的进程数, 默认为 5。 ( 仅用 于PHP)
- P 指定产 生的进程的PID文件路径。
- F 指定产 生的FastCGI的进程数( C的CGI用 这个)
- u和- g FastCGI使用 什么 身 份( - u 用 户 - g 用 户 组) 运行,
CentOS下可以使用 apache用 户 , 其他的根据情况配置, 如nobody、 www- data等。

fastgci应 用 程序

使用 C/C++编写 fastcgi应 用 程序, 可以使用 FastCGI软件开发套件或者其它开发框架, 如
fastcgi++。
本文使用 FastCGI软件开发套件——fcgi
http://www.filewatcher.com/d/Gentoo/distfiles/Other/fcgi-2.4.1 -SNAP-
091 0052249.tar.gz.61 4929.html
通过此套件可以轻松编写 fastcgi应 用 程序, 安装fcgi:
. /configue
make
如果编译出 现类似以下错误:
6.3 Nginx与FastCGI
94
cgio. cpp: In destructor ’ virtual fcgi_streambuf: : ~fcgi_streambuf( ) ’ :
fcgio. cpp: 50: error: ’ EOF’ was not declared in this scope
fcgio. cpp: In member function ’ virtual int fcgi_streambuf: : overflow( int) ’ :
fcgio. cpp: 70: error: ’ EOF’ was not declared in this scope
fcgio. cpp: 75: error: ’ EOF’ was not declared in this scope
fcgio. cpp: In member function ’ virtual int fcgi_streambuf: : sync( ) ’ :
fcgio. cpp: 86: error: ’ EOF’ was not declared in this scope
fcgio. cpp: 87: error: ’ EOF’ was not declared in this scope
fcgio. cpp: In member function ’ virtual int fcgi_streambuf: : underflow( ) ’ :
fcgio. cpp: 113: error: ’ EOF’ was not declared in this scope
make[2] : * [fcgio. lo] Error 1
make[2] : Leaving directory /root/downloads/fcgi- 2. 4. 1- SNAP- 0910052249/libfcgi'
make[1] : *** [all- recursive] Error 1
make[1] : Leaving directory
/root/downloads/fcgi- 2. 4. 1- SNAP- 0910052249’
make: * [all] Error 2
解决办法:

cd include
sudo vi fcgio.h

头文件添加

#include <stdio.h>

再次运行
make
sudo make install

编写一个fcgi简单的应用程序:

fcgi_demo.c

#include <stdio. h>
#include <stdlib. h>
#include <string. h>
#include <unistd. h>
#include "fcgi_stdio. h"

int main( int argc, char *argv[] )
{
int count = 0;
while ( FCGI_Accept( ) >= 0) {
printf( "Content- type: text/html\r\n") ;
printf( "\r\n") ;
printf( "<title>Fast CGI Hello! </title>") ;
printf( "<h1>Fast CGI Hello! </h1>") ;
printf( "Request number %d running on host <i>%s</i>\n", ++count, getenv( "SERVE
R_NAME") ) ;
}
return 0;
}

*编译:

gcc fcgi_demo.c -o demo -lfcgi

打开浏览器

192.168.21.128

nginx欢迎界面

配置fastcgi.conf

cd usr/local/nginx/conf
sudo vi nginx.conf

把下面代码复制到
nginx.conf文件里

location /demo {
                      fastcgi_pass 127.0.0.1:9001;
                     fastcgi_index demo.cgi;
                     include fastcgi.conf;
                         }
         location = /upload.cgi{
                      root html;
                      index upload.html;
                                }

          location = /upload/UploadAction{
                      fastcgi_pass 127.0.0.1:9002;
                      fastcgi_index echo.cgi;
                      include fastcgi.conf;
                                       }

将zyfile.tar.gz复制到
/usr/local/nginx/html
解压

tar -zxvf zyfile.tar.gz
cd zyfile.tar.gz
./configure
make
sudo make install

然后将demo.html改名为upload.html

sudo mv demo.html upload.html

并把所有文件包括文件夹移动到
/usr/local/nginx/html目录下

sudo mv * /usr/local/nginx/html

会根据配置好的文件,去/usr/local/nginx/html目录下寻找zy工具。如果目录下没有移动过来的文件,则会出现404错误。

依次运行

spawn-fcgi -a 127.0.0.1 -p 9001 -f ./test/echo

spawn-fcgi -a 127.0.0.1 -p 9002 -f ./test/echo

出现两次PID= xxxxx则成功

重启nginx

sudo /usr/local/nginx/sbin/ -s reload

打开浏览器,输入ip地址192.168.21.128/upload.html
出现上传界面
选择文件,上传成功!

系统重启,需进行以下步骤操作:

进入git

make clean

make

依次运行

spawn-fcgi -a 127.0.0.1 -p 9001 -f ./test/echo

spawn-fcgi -a 127.0.0.1 -p 9002 -f ./test/echo

出现两次PID= xxxxx则成功

重启nginx

sudo /usr/local/nginx/sbin/ -s reload

打开浏览器,输入ip地址192.168.21.128/upload.html
出现上传界面
选择文件,上传成功!
上传成功

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spawn-FCGI安装 的相关文章

随机推荐

  • scribe、chukwa、kafka、flume日志系统对比

    http www ttlsa com log system scribe chukwa kafka flume log system contrast scribe chukwa kafka flume日志系统对比 1 背景介绍许多公司的平
  • <Java 定时任务解决方案Quartz>学习笔记

    理论基础 小顶堆 参考文章 数据结构 算法 2 高级数据结构 中堆的部分 定时任务中每一个任务Job都对应堆中的一个节点 对应定时任务的到期时间 Delay 延迟时间 到期时间 每次取堆顶元素执行 注意 在添加 删除元素时候需要保证根节点
  • 绕过文件上传+disabled_function案例

    目录 案例 1 上传文件 2 绕过过滤 3 绕过disable function 原理 测试 案例 该案例涉及到 base64绕过过滤 伪协议php filter的使用 通过LD PRELOAD绕过disable function 1 上传
  • 计算机与科技课题题目,新颖的计算机科学技术专业论文选题 计算机科学技术专业论文题目选什么比较好...

    100道 关于新颖的计算机科学技术专业论文选题汇总 作为大学生的毕业生应该明白了计算机科学技术专业论文题目选什么比较好 选一个好的题目后续的计算机科学技术专业论文写作起来会更轻松 一 比较好写的计算机科学技术专业论文题目 1 地方高校计算机
  • 图片路径上传的配置问题

    需求 静态资源目录 data ruoyi uploadPath 配置静态资源服务 且指向静态资源目录 配置静态资源服务 static resources location static alias data ruoyi uploadPath
  • nginx 动静分离 正则匹对 alias root url rewrite重写

    Nginx 基础应用实战 04 动静分离 配置反向代理 location proxy pass http 127 0 0 1 8080 root html index index html index htm 增加每一个location l
  • 基于Arduino UNO的小车——基本操作

    材料 小车套件 Arduino UNO板子 面包板及连接线 L298N电机驱动模块 电池盒 电池 一 智能小车套件拼装 关于小车套件拼装建议大家在做小车之前先考虑好需要哪些功能模块 为了方便在制作小车的过程中可以方便将所需模块固定在已有的小
  • Unity 解决PackageManager消失问题

    更新20190416 Unity2018 3 12及之后版本稳定了不少 一些packageManager的报错也进行显示 可使用此版本进行开发 更新20201213 Unity2019 4 x版本及以上 Package Manager新增连
  • docker镜像的版本(bullseye、buster、slim、alphine)

    docker镜像的版本 bullseye buster slim xxx alphine 版本含义 版本含义 以 Python 的官方镜像为例不同版本含义如下 1 buster jessie stretch bullseye 这三个代表不同
  • r dataframe删除几列_R语言

    数据框 概念 在R语言中 数据框 dataframe 组织数据的结构与矩阵相似 但是其各列的数据类型可以不相同 一般情况 数据框的每列是一个变量 每行是一个观测样本 虽然 数据框内不同的列可以是不同的数据模式 但是数据框内每列的长度必须相同
  • 总结的iOS、mac开源项目及库,持续更新。。。。 github排名 https://github.com/trending,github搜索:https://github.com/search

    大家先看下目录 具体的内容请点击 https github com Tim9Liu9 TimLiu iOS 图表 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD与Toast 对话框 其
  • 功能丰富的 Markdown 笔记工具:FSNotes Mac中文版图文安装教程

    FSNotes Mac版是Mac平台上一款纯文本笔记本管理器 FSNotes for mac中文版支持Markdown RTF等格式 轻松查看和编辑数据 还可以将数据存储在文件系统中 同时具备iCloud同步功能 使用非常便捷 FSNote
  • 司守奎《数学建模算法与应用》 第二版

    内容介绍 本书涵盖了很多同类型书籍较少涉及的新算法和热点技术 主要内容包括时间序列 支持向量机 偏最小二乘面归分析 现代优化算法 数字图像处理 综合评价与决策方法 预测方法以及数学建模经典算法等内容 本书既可以作为数学建模课程教材和辅导书
  • Tesseract OCR 训练字库

    Tesseract OCR是一款由HP实验室开发由Google维护的开源OCR引擎 在字符识别领域发挥着举足轻重的作用 除了使用软件自带的中英文识别库 我们可以使用Tesseract OCR训练属于自己的字库 下面 我简要介绍一下操作步骤
  • Node.js GET/POST请求

    Node js 中的 HTTP 模块提供了创建 HTTP 服务器和发送 HTTP 请求的功能 在本文中 我们将探讨如何使用 Node js 发送 GET 和 POST 请求 首先 您需要使用 http 模块发送 GET 请求 可以使用 ht
  • 局域网——MC无法访问服务器或Ping通

    和室友玩MC的时候 他在局域网内创建服务器后 我一直无法搜索到他的服务器 我也连了他的热点 IP地址也是同一网段的 ping了一下他的机器 请求超时 上网搜了一下 最后发现是因为我装了VM 机器上有VM创建给虚拟机用的虚拟网卡 应该是因为游
  • 解析JSON有俩种方式:JSONObject和GSON

    JSONObject JSONObject解析JSON文件 private void parseJSONWithJSONObject String json data try JSONArray jsonArray new JSONArra
  • 【论文精读】CVPR2022 - 解耦知识蒸馏

    论文精读 CVPR2022 解耦知识蒸馏 论文原文 Decoupled Knowledge Distillation 获取地址 https ieeexplore ieee org stamp stamp jsp tp arnumber 98
  • 使用QTDesigner实现简易的信号与槽

    前言 在pyqt5中使用信号与槽的概念 来实现组件的相关交互动作 信号 外界对组件执行的动作 比如 用鼠标勾选 用鼠标滑过 在文本框中输入文字 鼠标点击按钮等 也可以理解为信号就是一种输入 是用户对界面的各种动作 这些动作通过界面传到了代码
  • Spawn-FCGI安装

    Spawn FCGI安装 获取spawn fcgi编译安装包 在 http redmine lighttpd net projects spawn fcgi wiki 上可 以获取当 前最新的版本 tar zxvf spawn fcgi x