如何在 CentOS/RHEL 7/6 上使用 PHP/FastCGI 设置 Apache

2023-11-17

FastCGI功能与 CGI 的工作非常相似。 FastCGI 与 CGI 相比,在一些地方存在差异,例如 FastCGI 进程是持久的,并且每个进程可以处理多个请求。 FastCGI 允许通过在单个全双工连接上复用环境信息、标准输入、输出和错误来在远程计算机上运行程序。阅读更多关于 FastCGI。

  • 在 Ubuntu 上使用 PHP-FPM/FastCGI 安装 Apache

本教程将帮助您在基于 RedHat 的系统上使用 PHP 和 FastCGI 设置 Apache Web 服务器。

步骤 1 – 先决条件

首先,在您的系统上启用 REMI 和 EPEL yum 存储库。这些存储库为基于 RedHat 的系统提供最新的软件包。

  • 启用 EPEL 和 REMI 存储库

步骤 2 – 安装 Apache2

Apache2 软件包可用于基于 Redhat 的系统,名称为 HTTPD。您可以使用以下命令在系统上配置的存储库中安装最新的可用 Apache2 (HTTPD) 软件包。


yum install httpd
  

第 3 步 – 安装 PHP 和 FastCGI

安装 Apache Web 服务器后,让我们在系统上安装 PHP 和 FastCGI Apache 模块。您可以安装所需 PHP 的任何版本,或者只需使用以下命令来安装可用的 PHP 软件包。本教程不包括安装 PHP 模块,因此您还可以安装所需的 PHP 模块。


yum install php php-cli mod_fcgid
  

步骤 4 – 禁用默认 PHP 处理程序

在使用 PHP/FastCGI 处理程序之前,您必须禁用系统上的默认 PHP 处理程序。编辑 Apache 的 PHP 配置文件(/etc/httpd/conf.d/php.conf)在您最喜欢的文本编辑器中,通过在行的开头添加井号(#)来注释下面屏幕截图中显示的行。

第 5 步 – 设置 FastCGI 处理程序

至此我们已经成功安装了Apache FastCGI Module。现在导航到/var/www/cgi-bin目录,如果不存在则创建目录。然后创建一个php.fastcgi文件并将以下内容添加到该文件中。还要确保 php.ini 文件和 php-cgi 存在于您的系统上。


vim /var/www/cgi-bin/php.fastcgi
  

#!/bin/bash

PHPRC="/etc/php.ini"
PHP_FCGI_CHILDREN=4
PHP_FCGI_MAX_REQUESTS=1000
export PHPRC
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec /usr/bin/php-cgi
  

更改权限php.fastcgi脚本使其可由 Apache 服务器执行。


chown apache:apache /var/www/cgi-bin/php.fastcgi
chmod +x /var/www/cgi-bin/php.fastcgi
  

第 6 步 – 使用 FastCGI 设置 VirtualHost

最后,在 Apache 配置文件中创建一个具有 FastCGI 支持的 VirtualHost。 VirtualHosts 用于使用单个 IP 配置多个站点。以下配置将允许在端口 80 上使用任何系统 IP 来定位 svr1.tecadmin.net。


<VirtualHost *:80>
    ServerName svr1.tecadmin.net
    ServerAdmin admin@tecadmin.net
    DocumentRoot /var/www/html
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
    <Directory "/var/www/html">
            Options +Indexes +FollowSymLinks +ExecCGI
            AddHandler php-fastcgi .php
            Action php-fastcgi /cgi-bin/php.fastcgi
            AllowOverride All
            Order allow,deny
            Allow from All
    </Directory>
</VirtualHost>
  

第 7 步 – 重新启动 Apache 和测试设置

至此,您已经完成了支持 FastCGI 的 Apache 配置。让我们使用以下命令重新启动 Apache 服务器。


service httpd restart
  

现在在文档根目录中创建一个文件/var/www/html/info.php并添加以下内容来查看详细的php信息。

1
2
3
<?php
  phpinfo();
?>

使用 IP 地址作为域名访问您的 Apache 服务器,后跟php.info文件在您的网络浏览器中如下所示。这将显示系统中 PHP 的当前配置。看看值服务器API选项,如果你得到这个值CGI/快速CGI,这意味着服务器已正确配置为使用 FastCGI。


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

如何在 CentOS/RHEL 7/6 上使用 PHP/FastCGI 设置 Apache 的相关文章

  • 修复损坏的符号链接/重新安装 php5

    如何修复损坏的符号链接 删除 死 文件 Context 由于我弄乱了本地测试服务器之一上的 php ini 配置 因此我决定重新安装基本的网络服务器内容 apache2 php5 Problem 安装后 etc apache2 php5 p
  • composer.lock 中的 shasum 是什么? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想升级包框架 我修改了我的composer lock 但我不明白沙苏姆 dist type zip url http www packag
  • 在 apache (ubuntu 12) 下将 python 脚本作为 cgi 运行时出现问题

    披露 我搜索了很多 我认为我的问题 针对我的配置 在这里没有得到解答 例如作为 cgi apache 服务器运行 python 脚本 https stackoverflow com questions 15878010 run python
  • CFWheels网站根目录的不同重写模式

    我需要关于研究以下问题的建议 车轮网站有set URLRewriting On 配置完毕 除了根页面之外 一切看起来都很好 所有链接均使用linkTo看起来像website tld controller action 但是在 模式下 切换
  • Tomcat 应用程序没有响应且没有日志

    我已经配置apache将请求转发到tomcat 以下是我的配置
  • 环境变量不会从 .htaccess 传递到 PHP

    我正在尝试将环境变量从 htaccess 传递到 PHP 这在我的本地 WAMP 服务器上工作得很好 但在托管我的网站的服务器上 它无缘无故地失败了 这是我的测试配置 htaccess SetEnv TEST VARIABLE test v
  • 如何减少 Perl CGI 脚本的启动时间?

    我正在开发一些 CGI 脚本 并且正在尝试找到一种解决方案来减少使用 use 导入大量模块时产生的 启动时间 Update 提供的解决方案很好 但我正在使用的脚本在控制台和 CGI 模式下运行 检查是否存在一些典型的 HTTP 环境变量 在
  • FastCGI超时错误MAMP Pro 4

    我研究了较旧的问题 https craftcms stackexchange com questions 4661 fastcgi error when accessing a local development site using ma
  • 使用Python的CGI表单提交按钮

    我正在尝试创建一个cgi 表单 允许用户输入一个单词 然后它将获取该单词并将其发送到下一页 另一个cgi 我知道如何使用 html 文件来做到这一点 但是当涉及到使用 python cgi 时 我迷失了 这是我需要做的 但它是 html 格
  • Apache2中可以有两个密码文件吗?

    我可以在 apache2 sites enabled 000 default 配置文件中包含两个 AuthUserFile 指令吗
  • hhvm-fastcgi 未显示警告

    我将 HHVM 3 1 0 rel 与 Nginx 一起使用 fastcgi 没有显示警告 但在它显示的控制台上运行 hhvm 正常吗 我的 php ini error reporting E ALL display errors 1 hh
  • 使用 MySQL 进行 SVN 身份验证

    我正在尝试通过 MySQL 设置每个存储库 SVN 身份验证 但遇到一些问题 首先 两者有什么区别mod authn dbd and mod auth mysql 其次 我已经有一个 MySQL 数据库设置 其中包含用户 组和权限的表 是否
  • Python导入MySQLdb,Apache内部服务器错误

    我遇到了与 中描述 的类似问题 Web 服务器的 cgi 问题 https stackoverflow com questions 621874 cgi problem with web server 尽管我审查并测试了之前建议的解决方案
  • .htaccess:如何通过IP限制对单个文件的访问?

    我已经查看了所有内容 但不断遇到有关目录级 IP 限制的相同信息 通常如下所示 Order Deny Allow Deny from all Allow from 123 123 123 123 是否可以将相同类型的访问限制绑定到页面 文档
  • Python SimpleHTTPServer 接收文件

    我正在使用 SimpleHTTPServer 的 do POST 方法来接收文件 如果我使用curl上传png文件 该脚本工作正常 但每当我使用python请求库上传文件时 文件上传但会损坏 这是 SimpleHTTPServer 代码 u
  • 在Python 3中从CGI输出二进制数据

    这个问题与this one https stackoverflow com q 908331 554319 我在从 Python 2 中的 CGI 脚本打印原始二进制数据时没有遇到任何问题 例如 usr bin env python2 im
  • Apache httpd:根据其他*响应*标头有条件地设置响应标头

    有没有办法有条件地设置新的响应标头 其中条件使用另一个response标题 具体来说 仅当响应具有特定的 Content Type 时才应设置新的响应标头 我调查过模组头 http httpd apache org docs 2 2 mod
  • Internet Explorer 8 + 放气

    我有一个非常奇怪的问题 我真的希望有人能给出答案 因为我不知道还能去哪里问 我正在用 C 编写一个 cgi 应用程序 它由 Apache 执行并输出 HTML 代码 我自己在 C 应用程序中压缩 HTML 输出 因为我的 Web 主机由于某
  • 如何在 phpfarm php 安装上安装 pthreads

    记录我为帮助他人所做的努力 并希望得到一些关于我如何做得更好的反馈 命令pecl install pthreads由于我的 php 安装失败ubuntu 13 04盒子没有配置 zts Options 1 ubuntu存储库没有启用zts的
  • nginx 反向代理到 apache-wordpress 可以工作,但到外部 url 的 proxy_pass 失败

    我有一个针对 apache wordpress 的 nginx 反向代理设置 效果很好 但是 根据位置需要重定向到失败的外部 url 请检查以下配置 这是一个有效的设置吗 https platform com https platform

随机推荐

  • 解决Ubuntu报错 E: Unable to locate package yum

    开门见山 Ubuntu的包管理工具是apt get 所以不必再安装yum 如果要安装其他包需要使用apt get命令 这里以locate命令为例 sudo apt get install mlocate 下文就是问题解决的全过程了 1 报错
  • uni-app:标签中对数据进行判断,看数据前中后是否含有需要的字符startsWith(),endsWith(),includes()

    效果图 核心代码 判断数据是否存在并且此数据是否以 开头
  • TCP/IP编程实现远程文件传输

    TCP IP编程实现远程文件传输 在TCP IP网络结构中 为了保证网络安全 网络人员往往需要在路由器上添加防火墙 禁止非法用户用ftp等安全危害较大的TCP IP协议访问主机 而有时系统维护人员需要用ftp将一些文件从中心机房主机传到前端
  • 【数据竞赛】Kaggle知识点:比赛类型介绍

    在Kaggle平台上 经常有好多个比赛可供选择 如下图所示 为正在进行比赛的截图 那么对于入门同学 从没参加过一次Kaggle比赛 如何选择一场适合的比赛呢 本文将对Kaggle平台上的比赛按照类型进行划分 并对每种类型的比赛进行介绍 总有
  • 1.1c/c++开源库清单

    以下我是从 资源网站 获取到的数据 关于 C 框架 库和资源的一些汇总列表 由 fffaraz 发起和维护 内容包括 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 标准库 C 标准库 包括了STL容器 算法
  • “放弃 GitHub ,时机已到”,软件自由保护协会怒批!

    整理 彭慧中 责编 屠敏 出品 CSDN ID CSDNnews 诞生 14 年来 凭借完整协议支持 Git格式的版本库托管等优势 GitHub成为了最受开发者欢迎的代码托管平台 不过 近几年来 随着GitHub的一些转变 引发了行业内一些
  • 第一节:数据类型——null,undefined和布尔值

    JavaScript 的数据类型 共有六种 ES6 又新增了第七种 Symbol 类型的值 数值 number 整数和小数 比如1和3 14 字符串 string 文本 比如Hello World 布尔值 boolean 表示真伪的两个特殊
  • 矩阵求导网站

    https www matrixcalculus org
  • 离散傅里叶变换的一些理解和LTE基带信号生成的数学理解

    离散傅里叶变换 DFT 快速傅里叶变换 FFT 是一种运用蝶形算子计算DFT的方法 下面是matlab实现代码 close all clear fs 200 N 256 采样freq和数据点数 n 0 N 1 t n fs 时间序列 x 0
  • Mac5款高效实用软件,值得推荐

    目录 1 MarginNote 3 阅读批注学习笔记软件 2 iShot Mac截图 长截图 带壳截图 贴图 标注 取色 录屏 录音 OCR 翻译 合集工具 3 KeyCastr 实时显示按下的按键 4 MindNode 超美观的思维导图
  • odoo 12 : 权限安全(security)

    Odoo 中使用安全组来实现 权限授予组 组中分配用户 Odoo 应用通常有两个组 针对普通用户的用户组 包含额外应用配置权限的管理员组 1 安全组 group security 模型名 security xml security ir m
  • tensorflow中model.fit()用法

    tensorflow中model fit 用法 model fit 方法用于执行训练过程 model fit 训练集的输入特征 训练集的标签 batch size 每一个batch的大小 epochs 迭代次数 validation dat
  • layui switch 设置默认开关属性

    给元素定义ID switch order var flag true if flag document getElementById switch order setAttribute checked on else document ge
  • 最近超火的ChatGPT到底怎么样?体验完后我有哪些感受和思考?

    本文主题 ChatGPT 人工智能 官方网站 chat openai com 文章目录 前言 二 初识 三 深入 四 编程相关 编写 纠错 五 感想 六 展望 七 结语 前言 大家好 这次我们来聊一聊最近超级火的人工智能语音 ChatGPT
  • 针式打印机无电脑测试软件,针式打印机断针测试软件合集

    这是针式打印机断针测试软件合集 是一款适用于24针针式打印机的断针测试软件 针式打印机最大的弊端是有出现断针的可能性 会导致票据缺点少横 很容易出现误差 您可以使用该软件测试您的打印机是否存在断针以及是哪一个针断了 为您解决打印机的故障提供
  • 微信小程序实现左侧滑动导航栏

    微信小程序实现左侧滑动导航栏 1 左侧滑动导航栏图如下 2 这是我们左侧滚动栏的代码 wxml
  • 论文笔记:Deep Learning for Anomaly Detection inTime-Series Data: Review, Analysis,and Guidelines

    2021 的paper 1 时间序列数据异常的定义 离群值 outlier 与其他观察结果偏差过大 以至于怀疑它是由不同机制产生的 时间序列的异常值 某一个 些时间片的数值值 展现出与先前时间步长显着不同的意外行为 根据之前的文献 作者将时
  • 为 crontab 作业设置环境变量

    Crontab 是 Unix 和类 Unix 操作系统中的一个功能强大的实用程序 用于安排命令在固定时间 日期或间隔定期运行 这个强大的工具与环境变量相结合 可以为自动化和管理任务提供更强大的解决方案 但是什么是环境变量 如何在 Cront
  • MB、Mb 和 MiB(数字单位)之间的区别

    在当今的数字世界中 理解和区分各种数字单元的需求变得越来越重要 MB Mb 和 MiB 等单位经常用于表示文件大小 存储容量和数据传输速率 然而 围绕这些术语的混淆常常会导致误解和错误 本文旨在提供全面的指南 帮助您理解这些数字单位 它们的
  • 如何在 CentOS/RHEL 7/6 上使用 PHP/FastCGI 设置 Apache

    FastCGI功能与 CGI 的工作非常相似 FastCGI 与 CGI 相比 在一些地方存在差异 例如 FastCGI 进程是持久的 并且每个进程可以处理多个请求 FastCGI 允许通过在单个全双工连接上复用环境信息 标准输入 输出和错