Web 应用如果是用 PHP 语言写的,比如 Drupal,WordPress,Laravel 等等,你需要在服务器上安装 PHP 的解释工具。你还需要让 Web 服务器可以跟 PHP 解释工具能够交流,这样 Web 服务器才能为用户输出请求的内容。在后面,我们要去安装一个叫 Nginx 的 Web 服务器,它跟 PHP 的交流方式可以使用 PHP-FPM 。
安装 PHP-FPM
先用包管理工具搜索一下仓库里有没有可以安装的 PHP-FPM。可以搜索同时包含 php 与 fpm 关键词的包,像这样:
yum search php fpm
在我的系统里,找到两个包:
php-fpm.x86_64 : PHP FastCGI Process Manager php56u-fpm.x86_64 : PHP FastCGI Process Manager
第一个 php-fpm.x86_64 是系统自带的仓库里的包,用 yum info php-fpm 可以查看一下这个包的信息,在我这里显示的版本是 5.4.16 ,也就是跟它对应的也是这个版本的 PHP。如果你需要更高版本的 PHP,就需要用到第二个包,用 yum info php56u-fpm,显示的版本是 5.6.4,这个包来自之前我们为系统安装的 ius 仓库。这里的 56u 表示的是 PHP 的大的版本,以后面安装 PHP 扩展的时候,也需要去安装带这个 56u 的扩展。
yum install php56u-fpm
返回:
依赖关系解决 ======================================================================================================== Package 架构 版本 源 ======================================================================================================== 正在安装: php56u-fpm x86_64 5.6.4-1.ius.centos7 ius 为依赖而安装: libxslt x86_64 1.1.28-5.el7 base php56u-cli x86_64 5.6.4-1.ius.centos7 ius php56u-common x86_64 5.6.4-1.ius.centos7 ius php56u-pear noarch 1:1.9.5-1.ius.centos7 ius php56u-pecl-jsonc x86_64 1.3.6-3.ius.centos7 ius php56u-process x86_64 5.6.4-1.ius.centos7 ius php56u-xml x86_64 5.6.4-1.ius.centos7 ius
在上面,你会发现 PHP-FPM 依赖的一些东西。也就是你要安装 PHP-FPM,这些依赖的东西也会同时安装到你的系统里。输入 y ,然后回车。
启动 PHP-FPM
使用 service 命令启动 PHP-FPM。
service php-fpm start
启动失败,查看一下 php-fpm 的状态:
service php-fpm status
发现了出现的错误:
ERROR: [pool www] cannot get uid for user 'apache'
意思是系统里没有 PHP-FPM 要用的 apache 这个用户。安装了 apache,才会在系统里创建这个用户,我们也可以手工去创建这个用户。或者改成一个系统里已有的用户,这里我把 PHP-FPM 的用户改成 vagrant,在配置生产环境的时候,你要把这个用户名换成其它的。先找到 PHP-FPM 的配置文件,用 vim 编辑一下这个文件。
vim /etc/php-fpm.d/www.conf
找到:
user = php-fpm
换成:
user = vagrant
找到:
group = php-fpm
换成:
group = vagrant
保存配置文件,再去启动 PHP-FPM,查看一下 php-fpm 的状态,确定已经启动成功。
自动启动 PHP-FPM
在启动系统的时候,自动启动 PHP-FPM。
systemctl enable php-fpm.service
安装 PHP 扩展
Web 应用需要不同的 PHP 扩展,为它们提供一些基本的功能,比如用数据库的扩展去跟数据库管理系统交互,用 GD 扩展来处理图像,用 JSON 扩展处理 JSON 格式的数据 ... 在你的运行环境里,必须为 Web 应用安装这些需要的 PHP 扩展,才能正常去运行它们。在安装或者运行这些 Web 应用的时候,它们会提示你需要的 PHP 扩展。你可以用关键词用包管理工具搜索仓库里的软件包。
之前我们安装的 PHP 是 5.6 这个版本的,所以,你在给它安装扩展的时候也要选择这个版本的扩展。下面是一些常用的 PHP 扩展:
yum install php56u-gd php56u-mysqlnd php56u-pdo php56u-mcrypt php56u-mbstring php56u-xmlrpc php56u-pecl-jsonc路径 php php-fpm
评论
最近博客更新的好快呢
9 年 10 个月 以前
多写点有用的东西。嘿嘿。
9 年 10 个月 以前
yum install php56u-fpm
默认的mirror都是国外的,全都下载失败,补充一个国内镜像站的解决方案吧
9 年 9 个月 以前
唉,重启后过一会儿fastest-mirror又好了,之前前面全都带叹号。
!repo id repo name status
!base/7/x86_64 CentOS-7 - Base 8,465
!epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 7,195
!extras/7/x86_64 CentOS-7 - Extras 104
!ius/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 103
!updates/7/x86_64 CentOS-7 - Updates 1,668
repolist: 17,535
9 年 9 个月 以前
vim /etc/php-fpm.d/www.conf发现
user = php-fpm
group = php-fpm
可能是因为较新版PHP-FPM对此做了修改吧,在此标记一下,方便后面来的人。
9 年 9 个月 以前
已经修正 :)
9 年 9 个月 以前
看来user = vagrant是以后配置需要的,已修改
9 年 9 个月 以前
输入systemctl enable php-fpm.service
显示bash: systemctl: command not found
9 年 4 个月 以前