探探自动配对PHP_CentOS7 - 安装Apache HTTP Server和PHP

安装Apache HTTP Server和PHP

你可能听说过LAMP的缩写,它代表Linux,Apache,MySQL和PHP。 它指的是用于提供网站和Web应用程序的流行技术配对。 本文教您如何安装Apache HTTP Server(简称Apache)并将其配置为与PHP一起使用以提供动态Web内容.

Apache是20多年前首次发布的,它是最早的Web服务器之一,它仍然是最受欢迎的服务器之一。 它在LAMP堆栈中的任务是通过响应他们对Web资源的请求来与用户交互。 也许它的一个卖点是它的设计允许其功能通过模块扩展。 mod_ssl中存在许多模块,它们为mod_rewrite添加了HTTPS支持,允许您动态修改请求URL.

PHP是一种用于创建动态Web内容的脚本语言。 它在幕后工作,脚本的输出通常由Apache提供以满足请求。 PHP通常作为模块(mod_php)安装,将语言的解释器嵌入到Apache的处理中,但是现在,将PHP作为独立进程运行是首选。 这是我们将在本文中采用的方法.

准备

此配方需要具有有效网络连接的CentOS系统。 它假定系统配置了IP地址192.168.56.100。 通过使用root帐户登录或使用sudo,还需要管理权限。

请注意,官方CentOS存储库安装PHP 5.4。 如果要安装较新版本,Remi存储库提供5.5,5.6和7.0。 要安装其中一个5.x版本,请打开/etc/yum.repos.d/remi.repo文件,找到[remi-php55]或[remi-php56]部分中的enabled选项并将其值设置为1 。对于7.0,更新/etc/yum.repos.d/remi-php70.repo中的enabled选项.

注意

PHP 6发生了什么? 这是一个漫长的故事......开发PHP的志愿者团队正在开发第6版,但该计划面临许多障碍,最终被搁置。 为了防止最新版本和任何关于PHP 6的博客帖子之间出现混淆,我们决定将其版本号提升到7.简而言之,PHP 6确实存在但从未达到适当的发布状态且大部分都很酷 计划为6的功能使其成为PHP 5.3,5.4和7.0.

怎么做

请按照以下步骤安装Apache HTTP Server和PHP:

  • 安装httpd和php-fpm软件包:
yum install httpd php-fpm
  • 使用文本编辑器打开Apache的配置文件:
vi /etc/httpd/conf/httpd.conf
  • 找到ServerName选项。 删除出现在行开头的#以取消注释,然后更改选项的值以反映服务器的主机名或IP地址:
ServerName 192.168.56.100:80
  • 找到DirectoryIndex选项并将index.php添加到列表中:
  DirectoryIndex index.html index.php 
  • At the end of the file, add the following configuration:
  ProxyPassMatch ^/(.*.php)$  fcgi://127.0.0.1:9000/var/www/html/$1 
  • 将更改保存到配置并关闭文件。
  • 验证是否已启用mod_proxy(列为proxy_module)和mod_proxy_fcgi(proxy_fcgi_module)扩展模块:
httpd -M | grep proxy
  • 两个模块都应出现在输出中。
  • 启动Apache和PHP的FPM服务,并使它们在系统重新启动时自动启动:
systemctl start httpd.service php-fpm.servicesystemctl enable httpd.service php-fpm.service
  • 在系统的防火墙中打开端口80以允许HTTP请求通过:
firewall-cmd --zone=public --permanent --add-service=httpfirewall-cmd --reload

工作原理

有几种方法可以将PHP与Apache的HTTP服务器集成,以生成动态Web内容。 从历史上看,使用Apache的mod_php模块是可行的方法,但现在首选的方法是将PHP作为一个单独的进程运行,Web服务器使用FastCGI协议进行通信。 因此,我们为Apache HTTP Server安装了httpd包,为PHP解释器及其进程管理器安装了php-fpm包:

yum install httpd php-fpm

PHP FastCGI进程管理器(FPM)包含在5.3版本的核心PHP发行版中。 将PHP与Apache分离可以鼓励更具可扩展性的体系结构,并且使用持久性PHP进程可以减少CPU开销,因为不必为每个请求生成新的解释器.

Apache的主要配置文件是/etc/httpd/conf/httpd.conf,其中我们更新了ServerName选项以反映我们服务器的主机名或IP地址。 虽然此步骤并非严格必要,但如果我们不设置该选项,则服务器会将警告消息写入其日志文件。 此外,服务器能够识别自身也很有用:

ServerName 192.168.56.100:80

接下来,我们通过将index.php添加到其值列表来更新DirectoryIndex选项。 当用户请求解析为目录的资源时,服务器将在该目录中查找与DirectoryIndex列表中的某个名称匹配的文件。 如果找到,Apache将返回该文件以满足请求。 此行为允许访问者使用诸如www.example.com之类的URL访问网站的主页,而不是www.example.com/index.html:

DirectoryIndex index.html index.php

列出文件的顺序非常重要。 例如,如果目录中存在index.html和index.php,那么将返回index.html,因为它在选项列表中的index.php之前列出.

然后我们导航到文件末尾以添加以下代理配置。 如果ProxyPassMatch的正则表达式与传入请求匹配,则服务器将检索给定的URL并返回该内容:

  ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/var/www/html/$1 

正则表达式使用描述如何匹配文本的特殊符号编写。 大多数字符在字面上是匹配的,但有些字符具有特殊含义:

  • .: 这符合任何角色。 模式不。 匹配文本芽,bug,包子,总线等.
  • +: 这与前一个元素匹配一次或多次。 模式fe + t匹配fet,feet和fetet等,但不匹配ft.
  • *: 这可选地任意次数匹配前面的元素。 模式fe * t匹配ft,fet,feet,fetet等.
  • ?: 这可选地匹配前一个元素一次。 图案颜色与颜色和颜色相匹配.
  • ^: 这会将匹配锚定到行的开头。 模式^ abc仅匹配abcif abc出现在文本的开头(^在[]中使用时具有特殊意义).
  • $: 这将匹配锚定到行尾。 如果xyz出现在行的末尾,则模式xyz $仅匹配xyz.
  • [ ]: 这匹配括号内给出的任何字符。 模式co [lr]与冷和绳索相匹配。 当[]中的第一个字符是^时,列表被否定; co [^ lr] d匹配男女同校但不冷或绳索.
  • ( ): 这会将元素分组并捕获匹配项。 模式跳转(编辑)? 匹配跳跃和跳跃.

如果你想要任何这些特殊字符在字面上匹配,那么你应该使用前导反斜杠来逃避它们,例如foo .html将匹配foo.html而不是fooahtml,foobhtml等等.

特殊数字变量(如$ 1和$ 2)包含任何捕获的匹配项的值。 它们的填充顺序是括号捕获匹配的顺序,因此(foo)。(html)将$ 1设置为foo,将$ 2设置为html.

有了这个理解,你现在应该能够破译正则表达式^ /(。* .php)$捕获以扩展名.php结尾的请求资源的路径和文件名。 $ 1变量代表捕获的路径,因此对/about/staff.php的请求将代理为fcgi://127.0.0.1:9000 / var / www / html / about /staff.php其中PHP的Fast-CGI监听器是 在端口9000上侦听本地接口.

Apache的功能通常通过模块扩展,作为一种安全措施,在IfModule块中包装特定于模块的配置选项是一种很好的做法。 这些块的打开包含模块的名称,并显示在尖括号<>中。 块的关闭显示为 IfModule>,就像关闭HTML元素一样.

服务器从中提供文件的目录由选项DocumentRoot设置。 默认值为/ var / www / html,因此我们放置在其中或其中的子目录中的任何文件都是可访问的。 作为一个例子来说明这一点,分发包括一个示例index.html文件,我们可以用它来验证服务器是否正确运行; 将/usr/share/httpd/noindex/index.html文件复制到/ var / www / html:

cp /usr/share/httpd/noindex/index.html /var/www/html

然后,打开浏览器并导航到系统的域或IP地址。 您应该看到欢迎页面:

a8258d04d410dab39c3cfc5c5d067b6c.png

您可以将Apache的默认索引页复制到Web目录,以测试服务器是否已启动并正在运行

对于PHP,您需要将一个PHP文件放在Fast-CGI服务可以读取的位置。 代理URL是fcgi://127.0.0.1:9000 / var / www / html / $ 1,因此我们可以将我们的PHP文件放在/ var / www / html中.

使用以下内容创建info.php文件:

 <?php phpinfo();

现在保存文件,然后导航到浏览器中的页面。 您应该看到PHP的phpinfo()函数的输出,它提供了有关如何配置PHP以及哪些模块可用的详细信息:

5699204ce902f4a7d336edb8afc11e8a.png

PHP报告有关其环境和请求的信息

注意

出于安全考虑,建议您删除welcome index.html文件(如果您将其复制过来),并在验证一切正常后删除info.php脚本。 它们提供的信息可以为恶意用户提供有关您的Web服务器设置的更多信息,而不是您希望拥有的信息.

See also

Refer to the following resources for more information on working with Apache and PHP:

  • Apache HTTP Server Project (http://httpd.apache.org/)
  • The PHP home page (http://php.net/)
  • Apache mod_proxy_fcgi documentation (http://httpd.apache.org/docs/current/mod/mod_proxy_fcgi.html)
  • Httpd Wiki: PHP-FPM (http://wiki.apache.org/httpd/PHP-FPM)
  • RFC-2616: HTTP/1.1 (http://www.rfc-base.org/txt/rfc-2616.txt)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网管型交换机比普通交换机有哪些明显优势

现在网络这么普及&#xff0c;对于交换机的需求也就越发的重要了&#xff0c;而市面上交换机的型号这么多&#xff0c;之前我们也分析过按照不同的情况怎么区分交换机&#xff0c;但浏览名称的时候我们也会发现&#xff0c;许多交换机的简介都会写着网管型交换机和非网管型交换…

cryptojs支持rsa加密_新特性解读 | 从 wireshark 看 MySQL 8.0 加密连接

作者&#xff1a;秦福朗爱可生 DBA 团队成员&#xff0c;负责项目日常问题处理及公司平台问题排查。热爱 IT&#xff0c;喜欢在互联网里畅游&#xff0c;擅长摄影、厨艺&#xff0c;不会厨艺的 DBA 不是好司机&#xff0c;didi~本文来源&#xff1a;原创投稿*爱可生开源社区出品…

sap-erp实施心得_实施动态代理-比较

sap-erp实施心得有时需要拦截某些方法调用&#xff0c;以便每次调用被拦截方法时都执行自己的逻辑。 如果您不属于Java EE的CDI领域&#xff0c;并且不想使用诸如Aspectj之类的AOP框架&#xff0c;那么您将有一个简单而有效的替代方法。 从1.5版开始&#xff0c;JDK附带了类ja…

保存点云数据_PCL入门系列三——PCL进行数据读写

本节课我们将了解到以下内容&#xff1a;基本的PCL中的数据类型&#xff1b;使用PCL进行简单编程&#xff1a;写文件与读文件。一、PCL库基本数据类型上一节课&#xff0c;我们使用PCL库在本地写入了一个名为test_pcd.pcd的文件。我们划分一下程序的任务步骤&#xff1a;构造pc…

win8系统的计算机共享在哪里设置方法,win10系统设置与win8系统局域网文件共享的方案...

win10系统使用久了&#xff0c;好多网友反馈说关于对win10系统设置与win8.1系统局域网文件共享设置的方法&#xff0c;在使用win10系统的过程中经常不知道如何去对win10系统设置与win8.1系统局域网文件共享进行设置&#xff0c;有什么好的办法去设置win10系统设置与win8.1系统局…

光端机的使用方法

光端机是一种不仅可以传输视频信号&#xff0c;还能传输音频、电话、网络、和很多种控制信号的以太网介质传输设备&#xff0c;目前主要使用安防监控行业。那么&#xff0c;光端机是怎么使用的&#xff0c;接下来就由飞畅科技的小编来为大家详细介绍下光端机的使用方法吧&#…

用香港服务器建收费网站,使用香港站群服务器搭建网站的好处有哪些?

香港站群服务器搭建网站的作用&#xff1a;1、香港站群服务器有利于提高网站被搜索引擎收录情况;2、搭建站群能够有效降低网站被封的风险;3、当网站遭受攻击时&#xff0c;可快速通过带有独立IP的网站来查出问题所在&#xff0c;从而有效提高服务器的维护。香港站群服务器搭建站…

分数化简_分数应用题七讲 (一) 图示法解分数应用题

一、今日一讲图示法就是用线段图(或其它图形)把题目中的已知条件和问题表示出来&#xff0c;这样可以把抽象的数量关系具体化&#xff0c;往往可以从图中找到解题的突破口。运用图示法教学应用题&#xff0c;是培养思维能力的有效方法之一。图示法不仅可以形象地、直观地反映分…

发送广播_DHCP服务器什么时候发送?为什么request要广播发送?那还不看?

动态主机配置协议&#xff1a;DHCP 用来集中管理、分配IP地址&#xff0c;使网络环境中的主机能够动态获取IP地址、网关地址、DNS服务器地址等信息&#xff1b;DHCP采用客户端服务器模式&#xff0c;端口号&#xff1a;客户端为68(中继模式下67)&#xff0c;服务器端为67版本一…

开关量光端机指示灯说明及常见故障问题处理方法

开关量光端机可以使开关量信号通过光缆在光纤上传输双向控制。全数字光传输通道&#xff0c;确保高质量的信号传输。面板上有电源指示灯、光信号指示灯数据信号指示灯&#xff0c;可以直观的检测电源、光信号、数据信号状态。单向系列开关量光端机是高性能&#xff0c;高可靠性…

为特使建立控制平面的指南-部署权衡

部署控制平面组件 构建并设计了控制平面后&#xff0c;您将需要确切确定如何部署其组件。 在这里&#xff0c;您可以选择将控制平面与数据平面共置一处以集中控制平面。 这里还有一个中间立场&#xff1a;部署与控制平面位于同一位置的某些组件&#xff0c;并使某些组件保持集中…

大牛服务器超时位置模拟失败,大牛模拟定位掉线怎么办 | 手游网游页游攻略大全...

发布时间&#xff1a;2016-07-07在第四期"微分享"活动中,有许多游戏大牛向小智讲述了关于玩游戏的妙招.巧招和绝招,现小智将这些内容推送给大家! 1.如何在3v3中取得好名次?(由"天才的小白"玩家供稿) 打3v3 ...标签&#xff1a;游乐网 游戏攻略发布时间&am…

宋佳乐博客全站正版PHP源码下载丨自助建站源码丨音乐外链源码丨最新图床源码丨官方网站源码丨网页跳转源码丨云相册源码丨打包下载

本套源码共包含了六套网站系统&#xff0c;请在下方看演示站&#xff1a; 一&#xff1a;主页跳转演示地址&#xff1a;http://ssl.songjiale.com&#xff08;无演示图&#xff09; 二&#xff1a;官方网站演示地址&#xff1a;http://ssl.songjiale.com/upload &#xff08;…

css3怎么排除第一个,css怎么排除第一个子元素

css排除第一个子元素的方法&#xff1a;1、通过使用伪类选择器“:not”实现排除&#xff1b;2、通过使用“nth-of-type”或者“nth-child”实现排除&#xff1b;3、通过使用“”或者“~”兄弟选择符实现获取排除第一个之外的子元素。本文操作环境&#xff1a;windows7系统、HTM…

如何解决光端机的开关量问题?

光端机开关量问题可以说是光端机的常见问题之一&#xff0c;对监控效果有比较大的影响&#xff0c;那么&#xff0c;我们应该如何解决光端机的开关量问题呢&#xff1f;接下来就由杭州飞畅科技的小编来为大家详细讲解下吧&#xff0c;感兴趣的朋友就一起来了解下&#xff01; …

什么是电视光端机?电视光端机是怎么分类的?

现如今&#xff0c;随着国内通信网络的发展&#xff0c;电视光端机应用的监控范围也越来越广。在高速公路、银行、电力、电信等的监控领域都要求对视频信号进行远程的传输&#xff0c;目前主要的解决方法是利用光端机将视频信号转化为数字信号通过光纤进行传输。那么&#xff0…

mysql存储过程语法 if_mysql存储过程语法 if

MySql存储过程MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。存储过程的优点有一箩筐。不过最主要的还是执行效率和SQL 代码封装。特别是 SQL 代码封装功能&#xff0c;如果没有存储过程&#xff0c;在外部程序访问数据库时(例如 PHP)&#xff0c;要组织很多 SQL 语句。特别…

什么是模拟量光端机?模拟光端机品牌有哪些?

模拟光端机采用了 PFM 调制技术实时传输图象信号。发射端将模拟视频信号先进行 PFM 调制后&#xff0c;再进行电-光转换&#xff0c;光信号传到接收端后&#xff0c;进行光电转换&#xff0c;然后进行 PFM 解调&#xff0c;恢复出视频信号。由于采用了PFM 调制技术&#xff0c;…

什么是物理隔离?物理隔离光端机是什么?

什么是物理隔离&#xff1f; 物理隔离&#xff0c;是指采用物理方法将内网与外网隔离从而避免入侵或信息泄露的风险的技术手段。物理隔离主要用来解决网络安全问题的&#xff0c;尤其是在那些需要绝对保证安全的保密网&#xff0c;专网和特种网络与互联网进行连接时&#xff0c…

太极虚拟服务器,太极 中标 云服务器

太极 中标 云服务器 内容精选换一换华为云帮助中心&#xff0c;为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用华为云服务。云服务器组是对云服务器的一种逻辑划分&#xff0c;云服务器组…