[关闭]
@a5635268 2015-09-19T17:59:41.000000Z 字数 1540 阅读 1013

【nginx运维基础(3)】Nginx的编译PHP

Nginx


Apache默认是把PHP作为本身的一个模块(mod_php)来运行的,而Nginx是以FastCGI方式运行的。所以使用Nginx+PHP就是直接配置为FastCGI模式。

安装PHP

下载地址: http://php.net/downloads

  1. #下载PHP
  2. cd /usr/local/src/
  3. wget http://cn2.php.net/distributions/php-5.5.0.tar.gz
  4. #安装依赖包
  5. yum -y install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
  6. #编译安装,以下参数支持,ftp,图片函数,pdo等支持,因为使用了php自带的mysqlnd,所以不需要额外安装mysql的lib库了.如果你是64位系统,参数后面加上--with-libdir=lib64,如果不是可以跳过。
  7. tar -zxvf php-5.5.0.tar.bz2
  8. cd php-5.5.0
  9. ./configure --prefix=/usr/local/php-5.5.0 --with-config-file-path=/usr/local/php-5.5.0/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64
  10. make&&make install
  11. #配置PHP
  12. cp php.ini-production /usr/local/php-5.5.0/etc/php.ini
  13. cp /usr/local/php-5.5.0/etc/php-fpm.conf.default /usr/local/php-5.5.0/etc/php-fpm.conf
  14. #启动php-fpm
  15. /usr/local/php-5.5.0/sbin/php-fpm
  16. #查看进程
  17. netstat -lnt | grep 9000
  18. tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN

配置Nginx+PHP

nginx+php的配置比较简单,核心就一句话:把请求的信息转发给9000端口的PHP进程,让PHP进程处理指定目录下的PHP文件

  1. location ~ \.php$ {
  2. root html;
  3. fastcgi_pass 127.0.0.1:9000;
  4. fastcgi_index index.php;
  5. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 告诉PHP进程,当前的脚本是 $document_root$fastcgi_scriptname,PHP会去找这个脚本并处理,所以脚本的位置要指对
  6. include fastcgi_params;
  7. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注