宁晋网站建设,wordpress admin-ajax.php 漏洞,wordpress文章结构,服务网络标准安装Apache HTTP Server和PHP你可能听说过LAMP的缩写#xff0c;它代表Linux#xff0c;Apache#xff0c;MySQL和PHP。 它指的是用于提供网站和Web应用程序的流行技术配对。 本文教您如何安装Apache HTTP Server(简称Apache)并将其配置为与PHP一起使用以提供动态Web内容.Ap…安装Apache HTTP Server和PHP你可能听说过LAMP的缩写它代表LinuxApacheMySQL和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 --zonepublic --permanent --add-servicehttpfirewall-cmd --reload工作原理有几种方法可以将PHP与Apache的HTTP服务器集成以生成动态Web内容。 从历史上看使用Apache的mod_php模块是可行的方法但现在首选的方法是将PHP作为一个单独的进程运行Web服务器使用FastCGI协议进行通信。 因此我们为Apache HTTP Server安装了httpd包为PHP解释器及其进程管理器安装了php-fpm包:yum install httpd php-fpmPHP 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匹配fetfeet和fetet等但不匹配ft.*: 这可选地任意次数匹配前面的元素。 模式fe * t匹配ftfetfeetfetet等.?: 这可选地匹配前一个元素一次。 图案颜色与颜色和颜色相匹配.^: 这会将匹配锚定到行的开头。 模式^ abc仅匹配abcif abc出现在文本的开头(^在[]中使用时具有特殊意义).$: 这将匹配锚定到行尾。 如果xyz出现在行的末尾则模式xyz $仅匹配xyz.[ ]: 这匹配括号内给出的任何字符。 模式co [lr]与冷和绳索相匹配。 当[]中的第一个字符是^时列表被否定; co [^ lr] d匹配男女同校但不冷或绳索.( ): 这会将元素分组并捕获匹配项。 模式跳转(编辑) 匹配跳跃和跳跃.如果你想要任何这些特殊字符在字面上匹配那么你应该使用前导反斜杠来逃避它们例如foo .html将匹配foo.html而不是fooahtmlfoobhtml等等.特殊数字变量(如$ 1和$ 2)包含任何捕获的匹配项的值。 它们的填充顺序是括号捕获匹配的顺序因此(foo)。(html)将$ 1设置为foo将$ 2设置为html.有了这个理解你现在应该能够破译正则表达式^ /(。* .php)$捕获以扩展名.php结尾的请求资源的路径和文件名。 $ 1变量代表捕获的路径因此对/about/staff.php的请求将代理为fcgi//127.0.0.19000 / 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地址。 您应该看到欢迎页面:您可以将Apache的默认索引页复制到Web目录以测试服务器是否已启动并正在运行对于PHP您需要将一个PHP文件放在Fast-CGI服务可以读取的位置。 代理URL是fcgi//127.0.0.19000 / var / www / html / $ 1因此我们可以将我们的PHP文件放在/ var / www / html中.使用以下内容创建info.php文件: ?php phpinfo();现在保存文件然后导航到浏览器中的页面。 您应该看到PHP的phpinfo()函数的输出它提供了有关如何配置PHP以及哪些模块可用的详细信息:PHP报告有关其环境和请求的信息注意出于安全考虑建议您删除welcome index.html文件(如果您将其复制过来)并在验证一切正常后删除info.php脚本。 它们提供的信息可以为恶意用户提供有关您的Web服务器设置的更多信息而不是您希望拥有的信息.See alsoRefer 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)