FAST CGI的配置

2023-11-14

试着写一点fast cgi 查了一下, 中文关于fast cgi的安装发现就一个文章, 大家都是抄那个文章, 那个文章写的还是不错,就是比较简单, 只能指导大概的方法和方向, 配置那个地方写的非常粗略
 
  E文有一个文章写的非常详细, 地址在这里, 如果E文很好的建议看这个
  如果是E文和不太好的,可以参考下面的方式 
 
  1 .解压Apache安装包tar zxvf apache_1.3.27.tar.gz
   2.解压mod_fastcgi.tar.gz包
  3.将解压mod_fastcgi.tar.gz包后的目录复制到apache_1.3.27解压后目录的src/modules下并更名为fastcgi
  4.使用Apache安装配置命令./configure --activate-module=src/modules/fastcgi/libfastcgi.a
 
  Fast cgi 一般来说分三种, 这三种都需要apache 的 mod_fastcgi 进行处理
 
   1   Standalone FastCGI Server, 应该是独立的SERVER , 在apache 的httpd.conf需要在后面加
       首先是需要把fastcgi作为单独的守护进程
        $ script/myapp_fastcgi.pl -l /tmp/myapp.socket -n 5
       以下是这个fast cgi的守护进程的参数
         -d -daemon     Daemonize the server.
         -p -pidfile    Write a pidfile with the pid of the process manager.
         -l -listen     Listen on a socket path, hostname:port, or :port.
         -n -nproc      The number of processes started to handle requests.    
 
     然后把下面的代码加入apache的HTTPD.CONF
 
      FastCgiExternalServer /tmp/myapp -socket /tmp/myapp.socket
      Alias /myapp/ /tmp/myapp/
   
      # Or, run at the root
      Alias / /tmp/myapp/
   
      # Optionally, rewrite the path when accessed without a trailing slash
      RewriteRule ^/myapp$ myapp/ [R]
 
     然后重启APACHE就OK了
 
   2 Static mode  静态模式, 一般是用于单一确定的模式
    
     就是在apache 的httpd.conf 中间加上
 
      FastCgiServer /path/to/myapp/script/myapp_fastcgi.pl -processes 3
      Alias /myapp /path/to/myapp/script/myapp_fastcgi.pl/

      这个建议再使用REWRITE的方式 , 重写整个的URL匹配, 使之看起来像一个静态页面 具体的可以参考 正则表达式

      RewriteRule read-(.+)-(.+)-(.+)/.html$ /myapp?id=$1&sid=$2&port=$3 [L] 

  3  Dynamic mode  动态模式, 可以使用各种各样的fastcgi

      加入到httpd.conf中间去    

       AddHandler fastcgi-script .fcgi

      还有就是关键的

       <Directory /path/to/MyApp>
            Options +ExecCGI
        </Directory>
    建议放在cgi-bin  这种类似的目录里面

   由于 FAST CGI实际是一类似守护进程的方式在运行, 并且由于是一直运行的, 所以一旦出问题, 内存泄漏什么的, 也是非常恐怖的事情, 所以熟练后再使用非常重要, 并且建议使用C 这种语言来写, 不太推荐PERL, 除非是有很多需要字符串的方式, 毕竟用到FAST CGI的时候一定是对效率要求到了苛刻的地步

     另外就是除非是非常清楚自己的情况, 否则这种终极解决方式是最好别用的, 这种上古的神器使用的不好, 可能会引起的问题是很麻烦的, 因为找人问都很难.  

   用处, 我想了一下, 那种高并发量的计数器是比较好的

    1 逻辑比较简单

    2 数据结构也很简单

   对效率要求却很高, 只是这种计数器实际估计用处不大

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

FAST CGI的配置 的相关文章

  • Laravel Vue js spa 应用程序

    1 我想知道为什么人们使用两台服务器用 laravel 制作 vuejs SPA 我想我们可以用另一种方式 制定这样的路线 Route get any function return view index gt where any 并让 v
  • ProxyPassMatch 与 ProxyPassReverse

    各位 我们正在尝试为以下场景设置 Apache 反向代理 传入请求采用以下形式http foo com APP v1 main html 对于某些服务器 URL 将引用不同的版本 例如 http foo com APP v2 main ht
  • 如何制作 tumblr 风格的个人资料 url

    我想知道 tumblr 是如何做到这样的个人资料网址 http www username tumblr com http username tumblr com 我知道我们可以更改个人资料网址 http www website com pr
  • 客户端浏览器关闭时服务器端 Perl CGI 脚本中断

    我已经尝试解决一个小问题很长一段时间了 但似乎我无法解决 我编写了一个 HTML 页面 它在提交表单时调用 perl CGI 脚本 该 CGI 在服务器端执行一定数量的任务 我让脚本将这些任务的步骤打印到 HTML 页面上的 iframe
  • DBus 是我要找的吗?

    我需要一个Linux上的IPC系统 我的要求是 面向数据包 消息 能够处理点对点和一对多通信 没有层次结构 没有服务器和客户端 如果一个端点崩溃 必须通知其他端点 现有 Linux 发行版的良好支持 Apache 存在 绑定 用于创建动态页
  • 如何更改 Apache 服务器的根目录? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何更改 Apache 服务器的文档根目录 我基本上想要localhost从 来 users spencer projects目录而不是
  • Apache 2.4 URL 重写:/server/?Server=ServerName 到 /server/ServerName [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我试图简单地将 URL 重写为 server ServerName from server Server ServerName所以这样
  • 如何让 mod_wsgi 在 Mac 上运行?

    几个小时以来 我一直在尝试在 Mac 上安装最新版本的 mod wsgi 3 3 我使用的是 Snow Leopard 并且有系统附带的 Apache Apache 2 2 15 和 Python 2 6 1 r261 67515 版本 我
  • Google reCAPTCHA 响应中没有 Access-Control-Allow-Origin 的 405 错误

    我正在尝试通过 google 实现 reCaptcha 但是当我调用下面提到的 api 时验证失败 在 reCaptcha admin 中我提到过本地主机在域列表中 google com recaptcha api siteverify 以
  • mod_rewrite, .htaccess 连接mysql数据库

    我希望 htaccess 文件中的 mod rewrite 链接到 mysql 数据库以向我提供映射信息 具体来说 我使用单个代码库来托管多个站点 因此 如果用户请求图像 例如 http www example com images car
  • CodeIgniter 项目给出 303/压缩错误

    尝试设置一个基于 CodeIgniter 的项目进行本地开发 LAMP 堆栈 并且一旦更新了所有配置文件 这意味着我成功地为 CodeIgniter 生成了有意义的引导错误 我在浏览器中收到此错误 Chrome Error 330 net
  • 从 SSLv3 迁移到 TLSv1

    对于 POODLE SSLv3 现已在服务器上禁用 客户端软件是在 NET 2 0 中开发的 并提供 TLSv1 作为唯一的替代方案 我有权并有能力更改客户端应用程序和服务器配置 ServicePointManager SecurityPr
  • NoInitialContextException:heroku 战争部署

    我一直在开发一个 J2EE 项目 并且在其中使用连接池 也通过部署在 heroku 上的数据库进行访问 我使用以下代码来设置 Connection 对象 Context initContext new InitialContext Cont
  • 新部署后,React 应用程序必须清除浏览器缓存

    我们正在使用 Jenkins 管道在 apache 服务器上部署 React 应用程序 当我们部署新代码时 大多数新功能都可以正常工作 但并非所有更改都反映浏览器中的最新内容 用户必须打开隐身窗口或清除缓存才能看到新功能 我见过一些相关的解
  • 多语言自定义404 htaccess规则导致重定向循环

    我正在开发一个多语言网站 需要为每种语言设置自定义 404 页面 我在 htaccess 中有以下规则 但不太正常 RewriteCond REQUEST URI ie NC ErrorDocument 404 http www domai
  • 有人成功地使用 PHP 5.4.4 和 APC 3.1.10 提供高流量服务吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • mod_rewrite 可以转换任意数量、任意名称的参数吗?

    我对 mod rewrite 完全是个新手 我想做的事情听起来很简单 我不想拥有domain com script php a 1 b 2 c 3 我想要 domain com script a 1 b 2 c 3 问题是我的脚本采用各种组
  • Apache Web 服务器:AH00125:请求超出了 FallbackResource 的 10 个子请求的限制

    当我在 apache 2 4 Web 服务器配置中使用 FallbackResource 时 它显示错误 AH00125 请求超出了 10 个子请求嵌套级别的限制 请帮助解决这个问题 是指定url http localhost bv hos
  • 主机 localhost 不允许连接到此 MySQL 服务器 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不小心删除了我的用户表 删除了所有用户 现在每当我尝试访问我的数据库时 它都会说 主机本地主机不允许连接到此 MYSQL 服务器 我试过
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误

随机推荐

  • 【工作笔记】从零开始学ExtJs6(三)—— 首页搭建

    首页搭建就是需要3层 上面板 项目名称和工具栏等 做面板 树形菜单 中间面板 变换的内容 分成三层的代码 很简单 关键代码如下 extend Ext container Viewport layout border defaults col
  • 常见数据库面试题整理

    本文主要转载自 http www cnblogs com remember forget p 6140112 html 一 什么是存储过程 有哪些优缺点 存储过程是一些预编译的SQL语句 更加直白的理解 存储过程可以说是一个记录集 它是由一
  • av_frame_free释放全部和av_frame_unref释放数据

    AVFrame结构 av frame alloc申请内存 av frame free释放内存 容易混淆的是av frame unref 它的作用是释放音视频数据资源 而av frame free是释放所有资源 包括音视频数据资源和结构体本身
  • VMware安装Android x86_64 8.1 虚拟机

    Vmware 安装 Android 虚拟机 原文摘录于 https www bbsmax com A kvJ3eg7Adg https blog csdn net Iamzhouyd article details 122796439 ht
  • 启动容器启动gpu报错

    sudo docker run itd name joint train p 9090 22 shm size 32G gpus all env DISPLAY v tmp X11 unix tmp X11 unix 10e7a6213e2
  • buck同步整流sw点负压问题

    buck同步整流sw点负压问题 1 前言 2 产生原因 3 影响 4 解决方法 5 buck同步整流逆流问题 5 1 产生原因 5 2 影响 5 3 解决方案 1 前言 有人突然问我一个专业问题 我以为我知道 结果并没有 尴尬 不过我也挺喜
  • Mybatis开发环境搭建

    Mybatis开发环境搭建 一 创建web工程并导入jar包 1 创建一个web工程 2 创建classes与lib文件夹 设置编译输出路径与测试路径 设置依赖的jar包目录 3 导入jar包 并设置add as library 二 编写M
  • mysql教程 新建连接_七、MySQL 创建连接

    连接到 MySQL 服务器由三种办法 使用 mysql 命名 使用 Navicat MySQL 客户端和使用各种开发语言连接 使用 mysql 命令连接 mysql 命令一般会随着 MySQL 安装而自带 这是最基本的也是最容易连接到 My
  • 好简单的RabbitMQ安装(Windows)

    目录 Windows下安装RabbitMQ需要以下几个步骤 1 安装erlang语言环境 下载erlang 设定环境变量 验证安装环境结果 2 下载并安装RabbitMQ 下载 安装主文件 安装RabbitMQ Plugins插件 登入管理
  • 代码审计方法与步骤

    代码审计方法与步骤 一 审计前的准备 1 获得源码 大多数PHP程序都是开源的 找到官网下载最新的源码包 2 安装网站 在本地搭建网站 一边审计一边调试 实时跟踪各种动态变化 二 把握大局 1 网站结构 浏览源码文件夹 了解该程序的大致目录
  • react滚动到指定位置_react 中 scrollTo 引发的思考

    如何在 React 中实现 scrollTo 效果 之前考虑过用scrollInToView 但是由于这个 API 实现的场景不能控制元素在屏幕上的显示位置遂选择其他出路 scrollTo 当只有一个元素需要直接滚动时 可以在 useEff
  • 一个插件,让你的 ChatGPT 不再报错!

    最近几天 相信大家都发现了 ChatGPT 一个问题 就是官网报错越来越频繁了 当你需用 ChatGPT 来处理一些比较琐碎的任务时 一旦你离开页面时间比较久 再度返回跟它进行对话 就会出现如下报错 虽然这个报错信息也曾有过 但没这么频繁
  • vscode 批量格式化

    今天推荐一个 vscode 批量格式化的扩展 Format Files 这个插件会依次打开需要格式化的文件进行格式化 使用方法很简单 在需要格式的文件夹右键 就可以看到开始格式化的操作 按照步骤进行即可 当然使用的前提 vscode 已经配
  • vue实现侧边栏导航和滚动定位

  • 计算机丢失msvcp90dll怎么办,msvcp90.dll

    msvcp90 dll官方版 msvcp90 dll官方版是电脑系统中不可缺少的dll文件 msvcp90 dll可以解决系统提示 找不到msvcp90 dll 或 msvcp90 dll 或者 msvcp90 dll 等情况 msvcp9
  • Win10家庭中文版开机后弹窗无法登录到你的账户点注销没用(解决过程记录)

    问题 之前一切正常 用完电脑后关机 没有提示有更新 也没更改系统设置 注册表什么的 时隔两天后开机就直接进入了临时账户 并弹窗 无法登录到你的账户 下面提示 通常可以通过从你的账户注销 然后重新登录来解决此问题 如果不立即注销 你创建的任何
  • Ubuntu系统配置花生壳内网穿透

    前言 本文档是基于被访问主机已经安装ssh服务 并且在内网已经确定ssh可用的情况下 做的穿透配置流程 一 被访问主机准备工作 被访问主机上下载花生壳并安装 我的是Ubuntu 1 Ubuntu安装包的下载命令如下 wget https d
  • 宏定义报重载错误

    我写了一个宏定义 define SWAP a b swap a a b b swap 然后在函数中进行引用 for i 1 i lt ma i SWAP covar k i covar j i 在编译过程中出现如下错误 error over
  • [Leetcode] 747. 至少是其他数字两倍的最大数

    题目描述 在一个给定的数组nums中 总是存在一个最大元素 查找数组中的最大元素是否至少是数组中每个其他数字的两倍 如果是 则返回最大元素的索引 否则返回 1 示例 1 输入 nums 3 6 1 0 输出 1 解释 6是最大的整数 对于数
  • FAST CGI的配置

    试着写一点fast cgi 查了一下 中文关于fast cgi的安装发现就一个文章 大家都是抄那个文章 那个文章写的还是不错 就是比较简单 只能指导大概的方法和方向 配置那个地方写的非常粗略 E文有一个文章写的非常详细 地址在这里 如果E文