luobo2ni 发表于 2018-11-14 09:26:44

nginx解析php页面

  nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。
  nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx
  本文以php-fpm为例介绍如何使nginx支持PHP
  一、编译安装php-fpm
  什么是PHP-FPM
  PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下载得到.
  PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
  系统版本:centos7.0 x86_64
  软件环境:已安装nginx
  安装php-fpm依赖环境
  yum -y install gcc gcc-c++ automake autoconf libtool make libmcrypt-devel mhash-devel mcrypt-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel
  !!!Yum可能无法安装libmcrypt-devel mhash-devel mcrypt-devel可以使用源代码方式安装
  编译安装php
tar zvxf php-5.4.7.tar.gz  
cd php-5.4.7
  
./configure --prefix=/usr/local/php--enable-fpm
  在nginx主配置文件中的http模块中插入下列内容
  location ~ .php$ {
  root /var/www/html;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
  }

  vim /var/www/html/index.php

  依次开启php-fpm模块和nginxd服务
  开启命令:
  /usr/local/php/sbin/php-fpm
  关闭命令:
  killall -9 php-fpm

  客户端访问php页面

  本文借鉴: http://www.nginx.cn/231.html


页: [1]
查看完整版本: nginx解析php页面