linux下自定义搭建php环境

linux下自定义搭建php的环境,首先在php官网找到压缩包下载,一般都是用的stable包,这个包比较稳定,BUG少。
压缩解压的步骤是必不可少的,这里就不写了,和之前的nginx服务器的基本一致。重要的是接下来的环节:
1、设置php configure脚本,命令为

./configure --prefix=PATH --enable-fpm

首先,这是对php进行一些配置,配置之后的编译就可以按照我们想要的去编译了,这里的–prefix=PATH是为了给php设置一个存放环境,如果不设置的话,默认情况下是在/usr/local等文件下,–enable-fpm是为了是php成为一个能独立运行的服务。这两个的话,是必备两个命令之一,必须要写上才能行。如果还有其他需求的话,比如和mysql进行连接什么的,就加其他的配置。不过在配置时候可能需要下载libxml2、libxml2-devel、sqlite、sqlite-devel包等,配置完成后如下图所示。
php01.png
接下来需要make(如果没有make命令,则yum install make),以及make install。(可以合成为make && make install),完成之后如下图所示。php02.png
接下来就需要配置php的一些配置以让nginx可以转发给php,让php去处理对应的php文件。先启动php-fpm,让php服务运行,但是会报如下错误,这里的错误没有配置文件php-fpm.conf,因此需要一个php-fpm.conf,其实在原本的文件里已经有一个php-fpm.conf.default了,因此我们只需要将php-fpm.conf.default变成php-fpm.conf就可以了。使用(cp php-fpm.conf.default php-fpm.conf)命令即可,对了还有一个文件也需要这样转换那就是www.conf他在etc/php-fpm.d/文件夹里面,需要将这两个文件夹生成即可。
php03.png

同时还需要在www.conf里将user改成启动php-fpm的用户,我这里是用的root用户,因此在启动时候还需要有权限,比如启动时候需要用如下命令

./php-fpm -R

这样php的配置已经做好,可以正常使用了,但是还需要和nginx配合起来。
nginx和php的配合是通过fastcgi进行转发来作用点,因此需要在nginx.conf进行如下配置:
1、首先要让nginx能识别php文件,设置默认页面:
php05.png
代码为:

location \{
      root html;
      index index.html index.htm index.php;
}

2、其次让nginx把php文件转发给php-fpm处理,因此需要进行如下设置:
php06.png
代码为:

location ~ \.php?.*$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include        fastcgi.conf;
    }

将如上配置配好之后重启php服务和nginx服务重启一下,然后使用命令ps -ef|grep php命令和ps -ef|grep nginx,
php07.png
看一下用户是否为设置的启动的用户,如果不是的话,可能会引发如下错误:
php08.png

当设置完之后,可以使用代码curl localhost/index.php进行查看,如果出现如下图样,则表示已经可以正常转发处理php文件了:
php09.png