nginx运维基础3Nginx的编译PHP

38次阅读

共计 1510 个字符,预计需要花费 4 分钟才能阅读完成。

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

安装 PHP

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

# 下载 PHP
cd /usr/local/src/
wget http://cn2.php.net/distributions/php-5.5.0.tar.gz

#安装依赖包
yum -y install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel 

#编译安装, 以下参数支持,ftp, 图片函数,pdo 等支持, 因为使用了 php 自带的 mysqlnd,所以不需要额外安装 mysql 的 lib 库了. 如果你是 64 位系统,参数后面加上 --with-libdir=lib64,如果不是可以跳过。tar -zxvf php-5.5.0.tar.bz2
cd php-5.5.0
./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
make&&make install

#配置 PHP
cp php.ini-production /usr/local/php-5.5.0/etc/php.ini
cp /usr/local/php-5.5.0/etc/php-fpm.conf.default /usr/local/php-5.5.0/etc/php-fpm.conf

#启动 php-fpm
/usr/local/php-5.5.0/sbin/php-fpm

#查看进程
netstat -lnt | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN

配置 Nginx+PHP

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

location ~ \.php$ {
  root html;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index  index.php;
  # 告诉 PHP 进程, 当前的脚本是 $document_root$fastcgi_scriptname,PHP 会去找这个脚本并处理, 所以脚本的位置要指对
  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  include        fastcgi_params;
}

正文完
 0