2012-02-27 4 views
1

Я настраиваю новый сервер Ubuntu с nginx, и я пытаюсь запустить небольшой блог WordPress на сайте. Кажется, я не могу правильно настроить конфигурацию для этой части, и я внимательно рассмотрел все документы и интерактивную помощь, которые я мог найти.Проблемы с конфигурацией nginx/PHP

Я запускаю блог на www.example.com/blog, и я не забочусь о каких-либо более крупных блоках местоположения, я просто хочу получить конфигурацию для этой области. Я пытаюсь использовать:

location /blog/ { 
     root /usr/local/www/data; 

     try_files $uri $uri/ index.php?$args; 
     index index.php; 
     location ~ \.php$ { 
        fastcgi_pass 127.0.0.1:9000; 
        fastcgi_index index.php; 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
        fastcgi_split_path_info ^(/blog)(/.*)$; 
        include fastcgi_params; 
     } 
} 

У меня есть php-cgi работает на 127.0.0.1:9000.

Когда я пытаюсь перейти на www.example.com/blog, или блог/или блог/index.php, я получаю ошибку «Нет входного файла». В качестве теста я создал файл phpinfo.php и поместил его в/usr/local/www/data/blog /, но это дает ту же ошибку.

Однако, в качестве дополнительного теста, я положил файл phpinfo.php на /, а затем изменил пары строки «fastcgi_param SCRIPT_FILENAME /phpinfo.php;», и что сделал работы, так что кажется, что мой Процесс FastCGI корректно работает, но по какой-то причине я не правильно установил путь в nginx.

Я внимательно изучил обсуждение этой проблемы в http://blog.martinfjordvald.com/2011/01/no-input-file-specified-with-php-and-nginx/, и я просмотрел права доступа к файлам, и, насколько я могу судить, все в порядке. Каждый каталог в дереве/usr/local/www/data/blog имеет разрешения на выполнение, и все, что принадлежит/usr/local/www, принадлежит и читается пользователю www-data, которое запускает как nginx, так и FastCGI.

Журналы не помогают в этом; Я ничего не получаю в журналах ошибок, даже когда я устанавливаю уровень для информации.

Спасибо.

ответ

2

Удалить это из конфигурации

fastcgi_split_path_info ^(/blog)(/.*)$; 
+0

Нет, директива корень присоединяет/блог/место на запрос; см. http://wiki.nginx.org/HttpCoreModule#root. Я изначально имел это в обратном порядке (это то, что делают Apache-подобные конфигурации), но было исправлено. В любом случае, это не имеет значения. – user1235777

+0

Простите, (это была моя первая мысль, я попробовал ее и заставил ее работать, если я пропущу fastcgi_split_path_info^(/ blog) (/.*) $, в противном случае я получил Access denied. – Mattias

+0

Это может быть что-то с вашим fastcgi_params ... file – Mattias

Смежные вопросы