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
echo phpinfo();
?>

依次开启php-fpm模块和nginxd服务

开启命令:

/usr/local/php/sbin/php-fpm

关闭命令:

killall -9 php-fpm

客户端访问php页面

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

时间: 2024-11-05 06:26:45

nginx解析php页面的相关文章

nginx解析PHP程序报错的解决方案

[[email protected] log]# tail -f nginx/error.log 2019/07/31 01:51:02 [error] 26151#0: *52 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.1.124, server: localhost, request: "GET

lnmp安装完成后无法解析php页面

当你的lnmp架构安装完成后,发现html页面可以打开,但php页面却无法打开,页面提示404 not found,如果确定配置过程不会有问题,可以从下面两个方法来查看 1.nginx的server里面有添加对php的支持没有,如 location / { root html; index index.php index.html index.htm ; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_i

Nginx实现404页面的几种方法

转自 Nginx实现404页面的几种方法,你知道几种 – 运维派http://www.yunweipai.com/archives/22238.html 第一种:Nginx自己的错误页面 Nginx访问一个静态的html 页面,当这个页面没有的时候,Nginx抛出404,那么如何返回给客户端404呢? 看下面的配置,这种情况下不需要修改任何参数,就能实现这个功能. server { listen      80; server_name  www.test.com; root   /var/ww

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配

12.13 Nginx防盗链 vim /usr/local/nginx/conf/vhost/test.com.conf加入location ~ ^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)${expires 7d;valid_referers none blocked server_names .test.com ;if ($invalid_referer) {return 403;}access_log off;}

Nginx解析PHP的原理 | CGI、FastCGI及php-fpm的关系

Nginx解析PHP的原理,CGI/FastCGI以及PHP-Fpm的关系. 一.PHP+Nginx应运而生的场景.随着互联网的发展,用户对此接受面广,数据流的增大使得Web端的运行承载压力日益增大,野蛮生长在大数据时代里的WEB语言PHP也找到了比老搭档更优越的活力搭档Nginx,说到Nginx咱就一起唠一唠这其中的奥妙. 从以下几个维度来剖析一下Nginx的活力所在,当然是和解析PHP的老搭档APACHE相比而言. 性能1.1 资源占有率少,节省内存资源1.2 非阻塞式的请求处理机制给之增加

Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理

Nginx防盗链 1.[[email protected] test.com]# vi /usr/local/nginx/conf/vhost/test.com.conf #+表示1或者多个,+前面的字符 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names  *.test.com ; #定

12.13 Nginx防盗链;12.14 Nginx访问控制;12.15 Nginx解析php相关配

扩展: 502问题汇总  : http://ask.apelearn.com/question/9109 location优先级 : http://blog.lishiming.net/?p=100 12.13 Nginx防盗链 设定目录访问受限: 1. 配置test.com网站目录的防盗链,编辑虚拟主机配置文件 : [[email protected] ~]# vim /usr/local/nginx/conf/vhost/test.com.conf 插入黄框内容(注释掉红框行): locat

Nginx的防盗链、Nginx的访问控制、Nginx解析php的配置、Nginx代理

Nginx的防盗链 Nginx的访问控制 禁止上传图片目录里php解析 Nginx解析php的配置 Nginx代理 原文地址:http://blog.51cto.com/13515599/2087315

Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理

12.13 Nginx防盗链cd /usr/local/nginx/conf/vhostvi test.com.conf将以上内容复制到下图位置测试,成功前提data/wwwroot/test.com目录下要有1.gif12.14 Nginx访问控制cd /usr/local/nginx/conf/vhostvi test.com.confFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="Nginx