先下载php:
安装PHP(PHP5.3以后,php-fpm就是php的核心模块存在了,所以这里就不单独再次下载php-fpm了)
这个地方是最重要的地方,因为默认情况下Nginx和PHP他俩之间是一点感觉没有的。在之前,很多朋友都搭建过Apache+PHP,Apache+PHP编译后生成的是模块文件,而Nginx+PHP需要PHP生成可执行文件才可以,所以要利用fastcgi技术来实现Nginx与PHP的整合,这个只要我们安装是启用FastCGI即可。此次我们安装PHP不仅使用了FastCGI,而且还使用了PHP-FPM这么一个东东,PHP-FPM说白了是一个管理FastCGI的一个管理器,它作为PHP的插件纯在,在安装PHP要想使用PHP-FPM时就需要把PHP-FPM以补丁的形式安装到PHP中,而且PHP要与PHP-FPM版本一致,这是必须的,切记!
利用FZ上传到/usr/local/src目录下,解压
tar -zxvf php-7.1.0.tar.gz
输入以下内容:
./configure --enable-fpm --enable-mbstring
显示
configure: error: xml2-config not found. Please check your libxml2 installation.
那么此时去安装libxml2,那么我们先检查以下是否有安装
rpm -qa |grep libxml2
结果显示是安装了的,那么我们再看看是否安装了libxml2-devel
rpm -qa |grep libxml2-devel
并没有任何输出,说明并没有安装,我们安装一个
yum list libxml2-devel
yum install libxml2-devel
安装好了之后,进行php编译
显示编译成功,接下来
make
make test
make install
在make的时候可能要等10分钟左右,make完之后呢可以make test也可以不用,因为在make test的时候也要等10分钟左右的
最后make install之后,发现并没有任何问题,如下图:
接下来
php -v
显示安装成功
在php5.3.3以前的版本php-fpm是以一个补丁包的形式存在的,而php5.3.3以后的php-fpm只需要在安装php-fpm开启这个功能即可。这个也就是前边,我们再配置php使用到的那个命令–enable-fpm。
php-fpm功能开启后,我们还需要配置php-fpm。其实php-fpm的配置文件在安装php时,已经为我们提供了一个配置文件的模版。该模版为/usr/local/etc/php-fpm.conf.default,如下:
more php-fpm.conf.default
我们现在只需要复制一份该文件,并重命名为php-fpm.conf,如下:
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
为了让php-fpm已服务的形式启动。我们需要复制php安装目录下/usr/local/src/php-7.1.0/sapi/fpm/init.d.php-fpm文件。如下:
cp /usr/local/src/php-7.1.0/sapi/fpm/init.d.php-fpm /usr/local/etc/init.d.php-fpm
如果我们看到php-fpm文件目前没有执行权限。赋予php-fpm执行权限,并启动php-fpm,如下:
chmod a+x /etc/init.d/php-fpm
通过这样安装完毕后,你会发现在/usr/local/lib目录下没有php.ini文件。在这我们就先复制php安装文件提供的模版,如下:
cd /usr/local/src/php-7.1.0
cp php.ini-production /usr/local/lib/php.ini
我们进入
cd /usr/local/sbin
启动
./php-fpm
报错:
ERROR: Unable to globalize '/usr/local/NONE/etc/php-fpm.d/*.conf' (ret=2) from /usr/local/etc/php-fpm.conf
此时,我们进入/usr/local/etc/php-fpm.conf
vi /usr/local/etc/php-fpm.conf
将最后一行include=NONE/etc/php-fpm.d/*.conf修改为include=etc/php.fpm.d/*.conf
此时,我们再次支持哪个./php-fpm
报以下错误
进入目录/usr/local/etc/php-fpm.d
cp www.conf.default www.conf
复制完成之后进入
cd /usr/local/sbin
启动
./php-fpm
查看是否启动成功
netstat -tunlp |grep 9000
上图显示启动成功
接下来我们要在nginx中搭建php运行配置了,进入php配置
cd /usr/local/nginx/conf
vi nginx.conf
server {
listen 80;
server_name localhost;
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
index index.html index.htm;
}
}
重启nginx
cd /usr/local/nginx/sbin
./nginx -s reload