编译安装php和nginx


最近由于某些原因把网站服务器从apache切换到nginx,也就是从LAMP到了LEMP(LNMP)。apache和php连接方式是通过模块,nginx和php的连接方式个人选择的是php-fpm(考虑到有些人可能不清楚php-fpm和php的区别,个人建议把php-fpm当作php的一个模块来看,是实现了cgi的可以与其他程序交互的模块。php-fpm更详细的资料可以查询php官网。),以下就是个人编译安装nginx和php-fpm的记录。

安装顺序如下:

  1. 编译安装nginx
  2. 确认可以显示HTML页面
  3. 在mysql已经安装的情况下,编译安装php
  4. 配置nginx和php-fpm的连接
  5. 确认基本php页面正常显示

编译安装nginx和测试index.html

编译安装php

编译安装php时需要注意的有

  1. 内存尽量空出来,小内存的至少不要一边运行mysql一边编译php
  2. 如果遇到某个命令编译时间过长,用稍微低一点版本的php试试

以下是个人实际编译过程,其中–enable-fpm是启用php-fpm的重要参数。

编译之后还不能使用php-fpm,先复制著名的php.ini(可选,最后做也行):

准备php-fpm的文件:

默认的php-fpm.conf和php.ini不一样,不能直接使用,主要是用户不对,这里在vi修改文件时把默认的nobody改成www-data,配置段如下:

修改完之后启动php-fpm。

连接nginx和php-fpm

准备“著名的info.php“。

放在nginx的”htdocs“中,本文中为/usr/local/nginx/html/。接下来修改nginx.conf,主要是取消location php部分的注释,修改其中的内容。

检查配置,重启nginx并测试。

如果显示OK,说明nginx和php连接成功。
至此,nginx+php基本功能OK,不过因为是编译安装的,启动php-fpm和nginx不是很方便,之后的文章会进一步讲解。


2 responses to “编译安装php和nginx”