У меня странная ситуация, я установил lighttpd и php5-fpm через aptitude
Я создал один виртуальный хост и пул fpm.
Это main.conf (глобальный FPM)
[global]
pid = /var/run/php-fpm.pid
error_log = /home/lighttpd/log/php-fpm.log
log_level = error
emergency_restart_threshold = 5
emergency_restart_interval = 2
process_control_timeout = 2
daemonize = yes
include=/home/lighttpd/vhosts/*/conf/php-fpm.conf
Это пул vhost
[website.com]
listen = 127.0.0.1:9000
listen.backlog = -1
user = website.com
group = website.com
pm = dynamic
pm.max_requests = 0
pm.max_children = 2
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 1
request_terminate_timeout = 2
request_slowlog_timeout = 1
slowlog = /home/lighttpd/vhosts/website.com/log/php-slow.log
chroot = /home/lighttpd/vhosts/website.com/web
; Chdir to this directory at the start. This value must be an absolute path.
; Default Value: current directory or / when chroot
;chdir = /
catch_workers_output = yes
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
Моя конфигурация lighttpd:
## Moduli da caricare
server.modules = (
"mod_alias",
"mod_compress",
"mod_rewrite",
"mod_redirect",
"mod_accesslog"
)
## Document root
server.document-root = "/home/lighttpd/vhosts/"
## File temporanei.
server.upload-dirs = ("/home/lighttpd/tmp")
## LOG
server.errorlog = "/home/lighttpd/log/error.log"
accesslog.filename = "/home/lighttpd/log/access.log"
## File ricercati quando viene richiesta una directory
index-file.names = (
"index.php",
"index.html",
"index.htm",
"default.htm"
)
## Negare l'accesso al codice sorgente di questi file
static-file.exclude-extensions = (
".php",
".pl",
".fcgi",
".conf"
)
server.pid-file = "/var/run/lighttpd.pid"
dir-listing.encoding = "utf-8"
server.dir-listing = "disable"
server.username = "lighttpd"
server.groupname = "lighttpd"
## Compressione dei contenuti
compress.cache-dir = "/home/lighttpd/cache/"
compress.filetype = (
"text/plain",
"text/html",
"application/x-javascript",
"text/css"
)
## Mapping dei mimetype
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
#Virtual Hosts
include "/home/lighttpd/vhosts/vhosts.conf"
и vhost:
## WEBSITE.COM
$HTTP["host"] =~ "(^|.)website\.com$" {
server.document-root = "/home/lighttpd/vhosts/website.com/web"
server.errorlog = "/home/lighttpd/vhosts/website.com/log/error.log"
accesslog.filename = "/home/lighttpd/vhosts/website.com/log/access.log"
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"host" => "127.0.0.1",
"port" => "9000"
)
)
)
}
Если я приеду www.website.com/page.html работает хорошо.
Если я приеду www.website.com/page.php Я всегда получаю Ошибка 404.
Я действительно не знаю, как это исправить. Еще проверяю список процессов, все процессы запустились хорошо:
lighttpd 974 0.0 0.0 88812 2136 ? S 02:13 0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
root 998 0.0 0.1 127268 4316 ? Ss 02:13 0:00 /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/main.conf
1004 999 0.0 0.1 127812 4628 ? S 02:13 0:00 /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/main.conf
также netstat -lnp подтверди это:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 998/php5-fpm
Кто-нибудь может мне помочь? Я не понимаю, почему страницы PHP не обрабатываются ... Я также проверил .log и не вижу ошибок.
Я попытался chroot /home/lighttpd/vhosts/website.com/
а потом chdir /web
(для http-документов), но ничего. У меня есть php-fpm.conf (пул) в /home/lighttpd/vhosts/website.com/conf/php-fpm.conf
.
Попробуйте избавиться от chroot
в конфигурации пула я думаю, что веб-сервер передает полный путь к файлу на сервер FastCGI и (конечно) он не сможет найти файл.