PHP-FPM和CHROOT

时间:2011-05-01 21:31:49

标签: lighttpd php

我正在使用Lighttpd和php-fpm,我想chroot每个网站的虚拟主机。

网站的页面位于: /home/vhosts/example1.com/web

每个vhost都有相同的层:

/home/vhosts/example1.com/web
/home/vhosts/example2.com/web
/home/vhosts/example3.com/web

我使用这种路径作为域的文档根(example1.com),我不知道我应该使用什么心理路径来chroot vhost,我试过:

document-root = /web

chroot = /home/vhosts/example1.com/ (on php-fpm.conf file)

但我总是得到404 NOT FOUND错误。我怎么能chroot vhost?

(每个网站都有.php和.html页面。)

2 个答案:

答案 0 :(得分:1)

在lighttpd.conf中:

server.document-root = "/home/vhosts/example1.com/web"
fastcgi.server = (
  ".php" => (
  "localhost" => (
     "docroot" => "/web",
     "socket" => "/home/vhosts/example1.com/php.socket",
   )
  )
)

在fpm.conf中:

listen = /home/vhosts/example1.com/php.socket
chroot = /home/vhosts/example1.com/

答案 1 :(得分:0)

使用$prefix& fpm.conf中的$pool个变量可以简化多个chroot的配置

[example1.com]
prefix = /home/vhosts/$pool/
listen = $prefix/php.sock
chroot = $prefix

[example2.com]
prefix = /home/vhosts/$pool/
listen = $prefix/php.sock
chroot = $prefix

您可能希望将TCP / IP to listen套接字用于快速增长的网站,因为它比使用unix套接字更稳定

不要忘记限制以通过IP地址限制TCP连接:

listen.allowed_clients = 127.0.0.1