微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx+php的编译

Nginx+PHP的编译

apache一般是把PHP当做自己的一个模块来启动的.

Nginx则是把http请求变量(如get,user_agent等)转发给 PHP进程,即PHP独立进程,与Nginx进行通信. 称为 fastcgi运行方式.

因此,为apache所编译的PHP,是不能用于Nginx的.

 

注意: 我们编译的PHP 要有如下功能:

连接MysqL, gd, ttf, 以fpm(fascgi)方式运行

./configure  --prefix=/usr/local/fastPHP \

--with-MysqL=MysqLnd \

--enable-MysqLnd \

--with-gd \

--enable-gd-native-ttf \

--enable-gd-jis-conv

--enable-fpm

编译完毕后:

1:

 

 

 

Nginx+PHP的配置比较简单,核心就一句话----

把请求的信息转发给9000端口的PHP进程,

PHP进程处理 指定目录下的PHP文件.

 

如下例子:

location ~ \.PHP$ {

            root html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.PHP;

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            include        fastcgi_params;

        }

 

1:碰到PHP文件,

2: 把根目录定位到 html,

3: 把请求上下文转交给9000端口PHP进程,

4: 并告诉PHP进程,当前的脚本是 $document_root$fastcgi_scriptname

(注:PHP会去找这个脚本并处理,所以脚本的位置要指对)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐