php php-fpm,php php-fpm安装以及配置

centos 6.2 linux下安装php5.6.6源码

PHP在 5.3.3 之后已经把php-fpm并入到php的核心代码中了。 所以php-fpm不需要单独的下载安装。要想php支持php-fpm,只需要在编译php源码的时候带上 --enable-fpm 就可以了

一:yum安装php的依赖库

yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison libtool-ltdl-devel libiconv libmcrypt mhash mcrypt pcre-devel openssl-devel freetype-devel libcurl-devel

二:下载 php5.6 源码

wget http://cn2.php.net/distributions/php-5.6.6.tar.gz

tar -zxvf php-5.6.6.tar.gzcd ./php-5.6.6/

三:php配置安装

# 配置php的编译参数./configure --prefix=/usr/local/php --with-mysql --with-mysqli --with-pdo_mysql --with-iconv-dir --with-zlib --with-libxml-dir --enable-xml --with-curl --enable-fpm --enable-mbstring --with-gd --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-freetype-dir=/usr/lib64

# 开始编译安装makemake install

然后就安装到了 /usr/local/php 目录下

四:配置php-fpm

php-fpm配置

首先启动php-fpm:

/usr/local/php/sbin/php-fpm

报错了[19-Apr-2018 16:02:08] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)[19-Apr-2018 16:02:08] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'[19-Apr-2018 16:02:08] ERROR: FPM initialization failed

错误信息说是找不到php-fpm.conf

到php的配置目录cd /usr/local/php/etc有一个php-fpm.conf.default的文件,cp复制cp php-fpm.conf.default php-fpm.conf

编辑 php-fpm.conf找到以下配置项, 配置如下

pid = run/php-fpm.pid

再次运行 /usr/local/php/sbin/php-fpm报错了:[19-Apr-2018 16:07:17] ERROR: [pool www] cannot get uid for user 'nginx'[19-Apr-2018 16:07:17] ERROR: FPM initialization failed

说nginx用户不存在,那么建立nginx用户

useradd nginx

再次启动

/usr/local/php/sbin/php-fpm

没有任何报错,说明运行成功了

验证是否成功

ps aux|grep php-fpm

出现了 php-fpm进程:root 15448 0.0 0.2 210972 4856 ? Ss 16:10 0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)www 15449 0.0 0.2 213056 4768 ? S 16:10 0:00 php-fpm: pool wwwwww 15450 0.0 0.2 213056 4768 ? S 16:10 0:00 php-fpm: pool wwwroot 15492 0.0 0.0 112648 964 pts/0 R+ 16:11 0:00 grep --color=auto php-fpm

五:加入开机启动

开机启动的配置文件是:/etc/rc.local# vi /etc/rc.local

/usr/local/php/sbin/php-fpm  # 添加进来

六:php-fpm的一些命令

我们在新安装扩展后,是需要重新php-fpm的,已使扩展生效。最简单粗暴的重新php-fpm的方式是:先找到php-fpm的进程号,kill 掉,再用/usr/local/php/sbin/php-fpm 这样启动。其实还有更多温和的方法,就是使用信号。INT, TERM 立刻终止QUIT 平滑终止USR1 重新打开日志文件USR2 平滑重载所有worker进程并重新载入配置和二进制模块

示例:

php-fpm 关闭:

kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

php-fpm 重启:

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

七:nginx配置解析php

nginx的配置安装见前面文章:http://www.cnblogs.com/starlion/p/8875982.html

1、进入nginx目录cd /usr/local/nginx

2、编辑配置文件vi ./conf/nginx.conf

在 server 下找到

location / {

root html;

index index.html index.htm index.php; # 加上 index.php

}

去掉前面注释 #

location ~ \.php$ {

root /usr/local/nginx/html; # 绝对路径配置到html下

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #验证时候解析php出错,/scripts需要换成$document_root, 下面有解释    include fastcgi_params;

}

3、然后平滑重启nginx./sbin/nginx -s reload没有报错,说明重启成功

八:验证php是否配置成功

在 /usr/local/nginx/html 目录下编辑 vi index.php

echo phpinfo();

?>

在浏览器上输入 http://ip:80/index.php 然后出现了错误File not found

查看nginx的日志,配置日志在 ./logs 目录下首先查看access.log 日志,出现了如下错误信息FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: ***.107.***.138, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "1**.24.**.115"

在看 error.log 日志信息出现了下面信息[error] 16403#0: *42 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: ***.107.***.138, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "1**.24.**.115"

根据上面的 FastCGI sent in stderr: "Primary script unknown"这是在配置nginx解析php脚本时候出现了错误

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

修改成如下方式($document_root):

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

$document_root 代表当前请求在root指令中指定的值:

修改之后重启nginx./sbin/nginx -s reload重新刷新浏览器,出现如下图所示,说明配置成功了

转载自  https://www.cnblogs.com/starlion/p/8884465.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值