Welcome! Log In Create A New Profile

Advanced

Re: nginx+php-fpm

Maxim Dounin
September 26, 2009 04:22PM
Hello!

On Sat, Sep 26, 2009 at 03:18:18PM -0400, deeman wrote:

> Здравствуйте!
>
> Поставил на свой сервер Ubuntu 9.04, потом связку nginx + php-fpm руководствуясь статьей http://vkimo.org/content/nginxphp-fpmeaccelerator-perfect-linux-server
> Скачал исходники nginx,php,php-fpm, собрал все, конфигурационные файлы сделал как в статье, автозапуск настроил, вроде бы все работает, но есть вопросы, которые я сходу решить не могу.
>
> 1) при обращении к site.com/info.php при условии, что файл info.php существует в соответствующей папке (/var/www/site.com), все отрабатывает нормально. Если же файла нет, то выдается не страница 404, а ошибка:
>
> Warning: Unknown: Filename cannot be empty in Unknown on line 0
>
> Fatal error: Unknown: Failed opening required '' (include_path='.:/usr/local/lib/php') in Unknown on line 0
>
> то есть как я понимаю, для обработки почему то передается пустой SCRIPT_FILENAME, хотя nginx должен сразу же выдать 404

Кто кому должен выдавать 404? У вас в конфиге написано что все
uri заканчивающиеся на .php следует передавать для обработки
fastcgi приложению. Именно это и происходит. Дальше уже дело
fastcgi приложения что именно на какой uri вернуть.

Что до SCRIPT_FILENAME, то он будет ровно таким как вы сказали в
fastcgi_params.

> 2) Если обратиться по адресу www.site.com (добавив поддомен www) то вылетает 404 страница

В root у вас фигурирует $host. Вероятно, каталога
/var/www/www.site.com не существует.

> 3) Если обратиться по адресу site.com/test/ ( / на конце ) при условии что подпапка test существует, то все ок. Если же слеш убрать то происходит редирект на http://www._.com/test/ который соответственно не определяется.

"www." и ".com" - это ваш браузер добавляет, nginx делает редирект
на http://$server_name/test/.

Если server_name не соответствует тому имени, на которе следует
делать редиректы при возникновении такой необходимости - надо
использовать

server_name_in_redirect off;

http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#server_name_in_redirect

Maxim Dounin

>
> Часть моего nginx.conf
>
> server {
> listen 80;
> root /var/www/$host;
> server_name _;
>
> location / {
> root /var/www/$host;
> index index.html index.htm index.php;
> }
>
> error_page 500 502 503 504 /50x.html;
> location = /50x.html {
> }
>
> location ~ \.php$ {
> root /var/www/$host;
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> include /usr/local/nginx/conf/fastcgi_params;
> }
> }
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,9401,9401#msg-9401
>
>
Subject Author Posted

nginx+php-fpm

deeman September 26, 2009 03:18PM

Re: nginx+php-fpm

Maxim Dounin September 26, 2009 04:22PM

Re: nginx+php-fpm

deeman September 26, 2009 04:52PM

Re: nginx+php-fpm

deeman September 26, 2009 05:12PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 271
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready