牛下载:绿色软件官方软件免费下载基地!
所在位置:首页 > 新闻资讯 > Debian 7 (Wheezy)安装配置Apache mod_fastcgi PHP-FPM

Debian 7 (Wheezy)安装配置Apache mod_fastcgi PHP-FPM

发布时间:2020-07-20 18:50:32来源:阅读:

本文介绍如何在Debian 7系统上配置和安装使用Apache mod_fastcgi和PHP-FPM。 Apache的默认配置使用mod_php而不是mod_fastcgi,mod_php使用大量的系统资源。
mod_php使用更多资源的主要原因是因为它即使为非PHP文件(如纯HTML和JavaScript文件)也加载。 FastCGI进程管理器(PHP-FPM)通过强制Web服务器充当代理并且仅将以php文件扩展名结尾的文件传递给PHP-FPM来帮助减少所使用的系统资源量。
此外,使用PHP-FPM允许将每个虚拟主机配置为作为单独用户运行PHP代码。 以前,这只能通过使用suPHP。

安装mod_fastcgi和PHP-FPM



mod_fastcgi和PHP-FPM都在Debian 7官方软件库,安装方法如下:
1.更新软件库

sudo apt-get update && sudo apt-get upgrade --show-upgraded

2.看看mod_fastcgi是否可用。 默认情况下,Debian 7不包括安装mod_fastcgi所需的软件库,因为它是一个contrib模块,并且是non-free的(就Debian的许可限制而言)。

sudo apt-cache search libapache2-mod-fastcgi

3.如果不可用,您需要编辑/etc/apt/sources.list文件,以允许将contrib和non-free软件加载到软件库列表中。 您的源文件应如下所示:
/etc/apt/sources.list:

deb http://ftp.es.debian.org/debian stable main contrib non-free
deb-src http://ftp.es.debian.org/debian stable main contrib non-free
 
deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
 
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

4.更新apt-get软件库

sudo apt-get update && sudo apt-get upgrade --show-upgraded

5.安装mod_fastcgi和PHP-FPM

sudo apt-get install libapache2-mod-fastcgi php5-fpm

配置Apache使用PHP-FPM



我们现在将配置Apache将PHP文件的所有请求(带有PHP文件扩展名)通过FastCGI传递给PHP wrapper。
1.激活mod_actions模块

sudo a2enmod actions

2.配置PHP-FPM使用UNIX套接字而不是TCP。 在这个命令中,我们将使用grep来确定套接字是否已被使用。

sudo grep -E '^s*listens*=s*[a-zA-Z/]+' /etc/php5/fpm/pool.d/www.conf

你会看到如下输出:
listen = /var/run/php5-fpm.sock
如果你看到如上输出,请跳到第6步。
3.如果没有看到以上输出,更改如下文件:
etc/php5/fpm/pool.d/www.conf

listen = /var/run/php5-fpm.sock

4.找到如下行并删除
/etc/php5/fpm/pool.d/www.conf:

listen = 127.0.0.1:9000

5.重启php5-fpm生效配置

sudo service php5-fpm restart

6.检查Apache版本

apache2 -v

7.根据Apache版本,编辑对应的文件
Apache 2.2或更早版本
/etc/apache2/mods-enabled/fastcgi.conf:

<IfModule mod_fastcgi.c>
 AddType application/x-httpd-fastphp5 .php
 Action application/x-httpd-fastphp5 /php5-fcgi
 Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
 FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
</IfModule>

Apache 2.4或更高版本
/etc/apache2/mods-enabled/fastcgi.conf

<IfModule mod_fastcgi.c>
 AddType application/x-httpd-fastphp5 .php
 Action application/x-httpd-fastphp5 /php5-fcgi
 Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
 FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
 <Directory /usr/lib/cgi-bin>
  Require all granted
 </Directory>
</IfModule>

8.保存文件并检查配置错误

sudo apache2ctl configtest

9.只要你看到Syntax OK输出,重启Apache服务

sudo service apache2 restart

如果没有看到Syntax OK,检查下配置哪里出错了
10.通过创建和访问具有phpinfo()显示的页面来检查PHP是否正常工作。 以下命令将在/var/www(Apache中网站的默认目录)中创建info.php:

sudo echo "<?php phpinfo(); ?>" > /var/www/info.php
反对
收藏
  • 热门资讯
  • 最新资讯
  • 应用排行榜
  • 游戏排行榜