nginx支持php配置

来源:互联网 发布:开淘宝店做什么好 编辑:程序博客网 时间:2024/04/30 10:26

nginx支持php配置

 

配置php-fpm

php版本

php-5.2.13

php-fpm版本

 php-5.2.13-fpm-0.5.13.diff.gz 

编译php前先加载补丁

如果不加不定,直接编译

./configure --prefix=/usr/local/php --enable-fastcgi--enable-fpm

会出现

Notice: Following unknown configureoptions were used:

--enable-fpm

因为找不到fpm

高版本的php源码中直接带有fpm,不需要再当做不定安装了。

[root@localhost local]#tar zxvf php-5.2.13.tar.gz 

[root@localhost local]#gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1 

[root@localhost local]#cd php-5.2.13 

[root@localhost php-5.2.13]#./configure  --prefix=/usr/local/php --enable-fastcgi --enable-fpm 

[root@localhost php-5.2.13]#make 

[root@localhost php-5.2.13]#make install 

[root@localhost php-5.2.13]cp php.ini-dist /usr/local/php/lib/php.ini

 

 

启动php-fpm遇到的错误

Starting php_fpm Sep 26 01:19:16.829544 [ERROR]fpm_unix_conf_wp(), line 124: please specify user and group other than root,pool 'default'

................................... failed

 

配置文件php-fpm.conf

将这两行的注释去掉。

启动php-fpm

./php-fpm 后面的参数

start,启动PHPFastCGI进程。  

 stop,强制终止PHPFastCGI进程。  

 quit,平滑终止PHPFastCGI进程。  

 restart 重启PHPFastCGI进程。  

reload 重新加载PHPphp.ini  

 logrotate 重新启用log文件。

 

php高版本中,fpm就没有这些参数了,很奇怪

 

php-fpm启动成功后,查看进程。

 

nginx配置

开启php支持

 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;

 }

主要是红线部分。

红线部分,开始默认的是:

fastcgi_param SCRIPT_FILENAME  /scripts$fastcgi_script_name;

我开始将/script修改成html,但是不行,在访问phpinfo.php的页面的时候,出现:no input file specified  错误。说明nginx根本找不到php文件。

具体也不知道怎么配置,后来网上查询了一下,修改为$document_root就可以了。(所以这个地方还不太明白)

 

php 5.5

开始从网上看的资料都是php5.2版本的。确实也看到了高版本的php已经将php-fpm引擎直接放进源码中,但是没有找到高版本的安装文档。

以为要跟5.2版本一样

./configure --prefix=/usr/local/php --enable-fastcgi--enable-fpm

编译的是发现:

configure: WARNING: unrecognizedoptions: --enable-fastcgi

不识别-enable-fastcgi参数。

其实高版本的根本不需要这个参数,fpm模块已经包含fastcgi了。

所以只需要:

./configure --prefix=/usr/local/php --enable-fpm

安装好后,除了拷贝php.ini文件,还需要拷贝php-fpm.conf文件

该文件的目录在:

/data/php-5.5.3/sapi/fpm/php-fpm.conf

直接到/usr/local/php/sbin目录下

./php-fpm启动fpm

fpm的启动进程:

[root@piter-shuhui html]# ps -ef |grep fpm

root      757    1  0 05:43 ?        00:00:00 php-fpm: master process(/usr/local/php/etc/php-fpm.conf)

nobody    758  757  0 05:43 ?        00:00:02 php-fpm: pool www

nobody    759  757  0 05:43 ?        00:00:02 php-fpm: pool www

nobody    795  757  0 05:44 ?        00:00:01 php-fpm: pool www

root      812 13948  0 05:52 pts/3    00:00:00 grep fpm

 

 

原创粉丝点击