IT技术博客大学习 共学习 共进步

多nginx单php-fpm的配置方法

我是陈科学院 2009-11-16 23:15:26 浏览 4,566 次

    用php fastcgi和nginx搭配的形式是很常见的,在很BT的需求下,可能会需要多个nginx走不同的端口,而进程只用一个php-fpm。

    本文所讲的环境比上述一句话还要BT,存在一个php-fpm,而且每个nginx都以一个非超级用户所有来进行运行。

    这样就存在了一个BT的情况,php-fpm默认不能以root权限运行,而普通用户来运行的话,对其他用户的目录,php-fpm将没有权限,页面在运行php的时候,会提示404。

    于是有以下的解决方案:

    找到php的源代码 $src_path/sapi/cgi/fpm/fpm_unix.c

    在文件顶部增加一个宏定义:#define I_REALLY_WANT_ROOT_PHP

    重新 configure make make install

    此时再修改php-fpm.conf 将user group都修改成root(经过上面的修改php-fpm已经支持root了)。

    重启php-fpm.

    配置各nginx.conf:

    location ~ .*\\.(php|php5)?$

    {

    #fastcgi_pass unix:/tmp/php-cgi.sock;

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    include fcgi.conf;

    }

    点到即止,不再多说。。。

建议继续学习

  1. 配置Nginx+uwsgi更方便地部署python应用 (阅读 106,824)
  2. 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (阅读 33,762)
  3. 解析nginx负载均衡 (阅读 16,422)
  4. Nginx模块开发入门 (阅读 11,041)
  5. 检查nginx配置,重载配置以及重启的方法 (阅读 10,683)
  6. Cacti 添加 Nginx 监控 (阅读 10,362)
  7. Nginx+FastCgi+Php 的工作机制 (阅读 10,084)
  8. 奇怪的 Nginx 的 upstream timed out 引起响应 502 (阅读 9,823)
  9. nginx的配置文件 (阅读 9,782)
  10. 解决 nginx 反向代理网页首尾出现神秘字符的问题 (阅读 8,961)