linux 下 整合 nginx 和 php
一、整合nginx 和 PHP:
# vi /usr/local/php/etc/php-fpm.conf
如果该文件不存在,有可能是默认的php-fpm.conf.default
可以使用命令拷贝一个文件:
# cp php-fpm.conf.default php-fpm.conf
拷贝结束后,启动php-fpm
# /usr/local/php/sbin/php-fpm start
由于php 5.3.3 下的php-fpm 不再支持php-fpm 以前具有的
/usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制。
master 进程可以理解以下信号:
INT, TERM:立刻终止
QUIT:平滑终止
USR1:重新打开日志文件
USR2:平滑重载所有worker进程并重新载入配置和二进制模块
示例:
1)php-fpm 关闭:
# kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
2)php-fpm 重启:
# kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
查看php-fpm进程数:
# ps aux | grep -c php-fpm
启动后可以查看下是否成功:
# ps -aux | grep php
将php添加到自启动:
# echo "/usr/local/php/sbin/php-fpm" >>/etc/rc.local
在保证nginx配置完成的情况下,运行nginx配置的php程序目录下建立一个test.php
加入
<?php
phpinfo();
?>
运行 http://localhost/test.php
如果界面出现就成功了!
二、配置php.ini文件:
默认php环境没有php.ini文件,需要从源码包中拷贝到指定的目录。默认目录是 /usr/local/php/lib/
将php源码包下php.ini-development或php.ini-production拷贝到
/usr/local/php/lib/ 目录下并改名为 php.ini
# vim /url/local/php/lib/php.ini
通过搜索字符串找到extension_dir 。此值为扩展的目录。
安装扩展:
先安装需要的扩展,以curl为例:
# tar -zxf (此处填下载的curl包名称) # ./configure –prefix=/usr/local/curl # make && make install
已经安装了php,现在需要添加这个扩展,进入安装原php的源码目录
# cd ext/curl # phpize (这里还是要引用 /usr/local/php/bin/phpize) # make && make install
make 完后显示一条具体的路径,例如: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
用命令搜索下curl.so的路径:# find / -name curl.so
也就是在php源码目录下的 /ext/curl/modules/curl.so
复制curl.so文件到extensions的配置目录。
执行下 # make clean # /usr/local/php/bin/phpize # ./configure --with-curl --with-php-config=/usr/local/php/bin/php-config # make && make install
其它的扩展可以参考该方法来安装!