Настройка nginx + php-fpm

f095

Пользователь
nginx/1.2.1
php 5.4.4
mysql 5.5.35
Debian 7

404 на главной и все тут. Что только не делал... Уже 2-й день бьюсь.
Конфиг один в один из дистриба. С разными другими тоже ничего не меняется - либо 404, либо пустая страницы. Причем, если в index.php добавить phpinfo() - отображается информация. Из index.php Только 404 получается. В чем проблема может быть?

Please Login or Register to view hidden text.

 

Sprinx

Пользователь
Кури конфиг nginx /etc/nginx/conf.d/default.conf
Вот пример моего, не полный, ибо незачем палить все.;)
Код:
server {
    root /var/www/твоя папка сайта;
    index index.php;
    server_name твой домен www.твой домен;
    charset utf8;
   
    error_log /var/log/nginx/название твоего лога для сайта.log;
    access_log off;
   
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
    }
 
        # Cached Images
        location ~* \.(jpg|jpeg|gif|png|css|js|ico)$ {
            root        /var/www/твоя папка сайта;
            access_log  off;
            expires      30d;
            add_header  Cache-Control  public;
        }
 
        location ~ \/admin|backup\/ {
            deny all;
        }
        # Deny folder (Sec. lvl1)
        location ~ \/(cache|log|attach_mod|cache|config|includes|language|triggers)\/ {
            deny all;
        }
 
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        # deny sql,tpl,db,inc,log
        location ~ /\.ht {
            deny  all;
        }
        location ~ \.(.*sql|tpl|db|inc|log)$ {
            deny  all;
        }
 
    }
 

DarkMod

Легенда
Код:
server {
        listen 80;
        server_name bla.com;
     
        access_log /home/darkmod/log/torrent/access.log;
        error_log /home/darkmod/log/torrent/error.log;
     
        error_page 403 /var/www/bla.com/error403.html; 
        error_page 404 /var/www/bla.com/error404.html;
     
        include /etc/nginx/badtorrent.conf; # блок IP
     
        charset utf8;
     
        location  /404.html {
            internal;
        }
     
        location = /error403.html {       
            root  /var/www/bla.com;
            allow all;
        }
 
        location / {
                root /var/www/bla.com;
                index index.php index.xhtml;
                try_files $uri $uri/ /index.php?$args;
        }
 
        location = /favicon.ico {
                log_not_found off;
        }
 
        location ~ \.php$ {
                client_max_body_size 500m;
                root /var/www/bla.com;
                fastcgi_index  index.php;
                fastcgi_intercept_errors on;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_pass unix:/tmp/php-fpm.sock;
                fastcgi_buffers 256 16k;
                fastcgi_max_temp_file_size 0;
                include fastcgi_params;
        }
        location ~ /\.ht {
                deny all;
        }
}
 

f095

Пользователь
Кури конфиг nginx /etc/nginx/conf.d/default.conf
Вот пример моего, не полный, ибо незачем палить все.;)
Ни один конфиг был скурен... Так-то на этом сервачке пара Joomla бежит, один Wordpress, rutracker и Redmine до кучи.

Итак. Для чистоты эксперимента, берем конфиг из дистрибутива, заменяем блок server на твой, исправляем пути к файлам сайта + настройки php-fpm через socket. В итоге, получаем:
Код:
user  www-data www-data;
worker_processes  4;
 
pid        /var/run/nginx.pid;
 
worker_rlimit_nofile  1024;
events {
    worker_connections  1024;
}
 
http {
    include      mime.types;
    default_type  application/octet-stream;
 
    server_tokens off;
    reset_timedout_connection  on;
 
    sendfile        on;
 
    output_buffers  1 64k;
 
    tcp_nopush      on;
    tcp_nodelay    on;
    log_not_found  off;
 
    keepalive_timeout 65;
 
    limit_req_zone  $binary_remote_addr  zone=one:16m  rate=5r/s;
 
    gzip  on;
    gzip_vary on;
    gzip_min_length 2048;
    gzip_comp_level 5;
    gzip_http_version 1.0;
    gzip_proxied any;
    gzip_disable "msie6";
    gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
 
    client_max_body_size 10m;
    large_client_header_buffers 4 8k;
    client_body_temp_path /tmp/nginx/client_temp 1 2;
 
    server {
        root /usr/share/nginx/www/torrents;
        index index.php;
        server_name _;
        charset utf8;
 
        error_log /var/log/nginx/error.log;
        access_log off;
 
        location ~ \.php$ {
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;             
        }
 
        location ~* \.(jpg|jpeg|gif|png|css|js|ico)$ {
            root        /usr/share/nginx/www/torrents;
            access_log  off;
            expires      30d;
            add_header  Cache-Control  public;
        }
 
        location ~ \/admin|backup\/ {
            deny all;
        }
 
        location ~ \/(cache|log|attach_mod|cache|config|includes|language|triggers)\/ {
            deny all;
        }
 
        location ~ /\.ht {
            deny  all;
        }
 
        location ~ \.(.*sql|tpl|db|inc|log)$ {
            deny  all;
        }
    }
}

Проверяем.

Please Login or Register to view hidden text.

- статику раздает

Please Login or Register to view hidden text.

- php-fpm работает

Please Login or Register to view hidden text.

,

Please Login or Register to view hidden text.

- пустая страница (смотрим исходный код страницы - пусто)
Смотрим логи - ошибок нет.

Почему test.php работает, а index.php нет? Сдается мне проблема где-то в другом месте...
Конфиг от DarkMod тоже не взлетел с ходу. Следующим постом подробнее опишу.

На всякий, права на файлы
Код:
root@srv:/usr/share/nginx/www/torrents# ls -la
итого 536
drwxr-xr-x 17 root    root      4096 Апр 11 09:59 .
drwxr-xr-x  5 root    root      4096 Апр  9 14:17 ..
drwxr-xr-x  2 www-data root      4096 Мар  8 00:16 admin
drwxrwxrwx  3 www-data root      4096 Мар  8 00:16 ajax
-rw-r--r--  1 www-data root      7300 Фев 17 16:12 ajax.php
drwxr-xr-x  3 www-data root      4096 Мар  8 00:16 attach_mod
drwxr-xr-x  3 www-data root      4096 Мар  8 00:16 bt
drwxrwxrwx  3 www-data root      4096 Мар  8 00:16 cache
-rw-r--r--  1 www-data root      4330 Мар  2 23:20 callseed.php
-rw-r--r--  1 www-data root    51007 Фев  4 01:04 common.php
-rw-r--r--  1 www-data root    23108 Апр 10 17:37 config.php
-rw-r--r--  1 www-data root      119 Янв 12 13:23 cron.php
-rw-r--r--  1 www-data root      353 Янв 12 13:23 crossdomain.xml
drwxr-xr-x  4 www-data root      4096 Мар  8 00:16 develop
-rw-r--r--  1 www-data root      4117 Янв 28 23:23 dl_list.php
-rw-r--r--  1 www-data root      271 Янв 12 13:23 donate.php
-rw-r--r--  1 www-data root      9122 Янв 28 23:23 download.php
-rw-r--r--  1 www-data root      7718 Янв 12 13:23 favicon.ico
drwxrwxrwx  3 www-data root      4096 Мар  8 00:16 files
-rw-r--r--  1 www-data root    19684 Фев  2 21:27 groupcp.php
-rw-r--r--  1 www-data root      225 Янв 12 13:23 .htaccess
drwxrwxrwx  7 www-data root      4096 Мар  8 00:16 images
drwxr-xr-x  8 www-data root      4096 Мар  8 00:16 includes
-rw-r--r--  1 www-data www-data 12633 Мар  2 23:32 index.php
drwxr-xr-x  4 www-data root      4096 Мар  8 00:16 language
drwxrwxrwx  3 www-data root      4096 Мар  8 00:16 log
-rw-r--r--  1 www-data root      3693 Янв 30 13:04 login.php
-rw-r--r--  1 www-data root      8053 Фев  3 00:11 memberlist.php
drwxr-xr-x  4 www-data root      4096 Мар  8 00:16 misc
-rw-r--r--  1 www-data root      3906 Янв 26 00:31 misc.php
-rw-r--r--  1 www-data root    23981 Мар  2 23:27 modcp.php
-rw-r--r--  1 www-data root      453 Янв 12 13:23 opensearch_desc_bt.xml
-rw-r--r--  1 www-data root      480 Янв 12 13:23 opensearch_desc.xml
-rw-r--r--  1 www-data root      6591 Фев 10 21:22 poll.php
-rw-r--r--  1 www-data root    21061 Мар  7 00:59 posting.php
-rw-r--r--  1 www-data root    53018 Фев 10 16:41 privmsg.php
-rw-r--r--  1 www-data root      970 Янв 28 23:23 profile.php
-rw-r--r--  1 www-data root    22748 Янв 28 23:23 report.php
-rw-r--r--  1 www-data root        26 Апр 10 15:50 robots.txt
-rw-r--r--  1 www-data root    29466 Фев 10 00:07 search.php
drwxr-xr-x  2 www-data root      4096 Мар  8 00:16 stats
drwxr-xr-x  4 www-data root      4096 Мар  8 00:17 templates
-rw-r--r--  1 root    root      106 Апр 11 09:44 test.html
-rw-r--r--  1 www-data root      169 Апр 11 09:39 test.php
-rw-r--r--  1 www-data root    27749 Янв 28 23:23 tracker.php
drwxrwxrwx  2 www-data root      4096 Мар  8 00:17 triggers
-rw-r--r--  1 www-data root    20895 Фев  1 00:32 viewforum.php
-rw-r--r--  1 www-data root      2797 Янв 19 01:12 viewonline.php
-rw-r--r--  1 www-data root    34887 Фев 10 16:45 viewtopic.php
 

f095

Пользователь
Part 2
это не весь конф)
fastcgi_params и nginx.conf берем из дистрибутива. Заменяем секцию server на предложенную DarkMod. Меняем домен, пути к сайту и логам. В fastcgi_params комментируем 5-ю строку т. к. дублируется в конфиге. Получаем:
Код:
user  www-data www-data;
worker_processes  4;
 
pid        /var/run/nginx.pid;
 
worker_rlimit_nofile  1024;
events {
    worker_connections  1024;
}
 
http {
    include      mime.types;
    default_type  application/octet-stream;
 
    server_tokens off;
    reset_timedout_connection  on;
 
    sendfile        on;
 
    output_buffers  1 64k;
 
    tcp_nopush      on;
    tcp_nodelay    on;
    log_not_found  off;
 
    keepalive_timeout 65;
 
    limit_req_zone  $binary_remote_addr  zone=one:16m  rate=5r/s;
 
    gzip  on;
    gzip_vary on;
    gzip_min_length 2048;
    gzip_comp_level 5;
    gzip_http_version 1.0;
    gzip_proxied any;
    gzip_disable "msie6";
    gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
 
    client_max_body_size 10m;
    large_client_header_buffers 4 8k;
    client_body_temp_path /tmp/nginx/client_temp 1 2;
 
    server {
        listen 80;
        server_name _;
 
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
 
        error_page 403 /403.html;
        error_page 404 /404.html;
 
        charset utf8;
 
        location /404.html {
            internal;
        }
 
        location /403.html { 
            internal;
            allow all;
        }
 
        location / {
                root /usr/share/nginx/www/torrents;
                index index.php index.xhtml;
                try_files $uri $uri/ /index.php?$args;
        }
 
        location = /favicon.ico {
                log_not_found off;
        }
 
        location ~ \.php$ {
                client_max_body_size 500m;
                root /usr/share/nginx/www/torrents;
                fastcgi_index  index.php;
                fastcgi_intercept_errors on;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_buffers 256 16k;
                fastcgi_max_temp_file_size 0;
                include fastcgi_params;
        }
        location ~ /\.ht {
                deny all;
        }
    }
}

/etc/init.d/nginx reload
Команда была выполнена?
Делаем
Код:
service nginx restart && service php5-fpm restart

Проверяем.
Результаты один в один повторяют описанные в посте #15.
В логе ошибок пусто. На всякий случай, access_log (понимаю, что не нужен):
Код:
194.xx.125.xxx - - [11/Apr/2014:10:34:45 +0400] "-" 400 0 "-" "-"
194.xx.125.xxx - - [11/Apr/2014:10:34:45 +0400] "-" 400 0 "-" "-"
194.xx.125.xxx - - [11/Apr/2014:10:34:45 +0400] "GET /test.php HTTP/1.1" 200 14256 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0"
194.xx.125.xxx - - [11/Apr/2014:10:34:45 +0400] "GET /test.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2536 "http://torrents.petrachuk.ru/test.php" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.$
194.xx.125.xxx - - [11/Apr/2014:10:34:45 +0400] "GET /test.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2158 "http://torrents.petrachuk.ru/test.php" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.$
194.xx.125.xxx - - [11/Apr/2014:10:34:51 +0400] "GET /index.html HTTP/1.1" 500 5 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0"
194.xx.125.xxx - - [11/Apr/2014:10:34:54 +0400] "GET / HTTP/1.1" 500 5 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0"
Какие-нибудь еще идеи? Куда копать?
 

f095

Пользователь
Интересная штука...
В конфиге из дистрибутива прописан 50x.html которого на самом деле нет.
nginx с дистрибутивным конфигом на самом деле выкидывает 500 ошибку, не находит 50x.html... Нате вам 404 как в #6 и #8 постах :)
 

Sprinx

Пользователь
Part 2

fastcgi_params и nginx.conf берем из дистрибутива. Заменяем секцию server на предложенную DarkMod. Меняем домен, пути к сайту и логам. В fastcgi_params комментируем 5-ю строку т. к. дублируется в конфиге. Получаем:
Код:
user  www-data www-data;
worker_processes  4;
 
pid        /var/run/nginx.pid;
 
worker_rlimit_nofile  1024;
events {
    worker_connections  1024;
}
 
http {
    include      mime.types;
    default_type  application/octet-stream;
 
    server_tokens off;
    reset_timedout_connection  on;
 
    sendfile        on;
 
    output_buffers  1 64k;
 
    tcp_nopush      on;
    tcp_nodelay    on;
    log_not_found  off;
 
    keepalive_timeout 65;
 
    limit_req_zone  $binary_remote_addr  zone=one:16m  rate=5r/s;
 
    gzip  on;
    gzip_vary on;
    gzip_min_length 2048;
    gzip_comp_level 5;
    gzip_http_version 1.0;
    gzip_proxied any;
    gzip_disable "msie6";
    gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
 
    client_max_body_size 10m;
    large_client_header_buffers 4 8k;
    client_body_temp_path /tmp/nginx/client_temp 1 2;
 
    server {
        listen 80;
        server_name _;
 
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
 
        error_page 403 /403.html;
        error_page 404 /404.html;
 
        charset utf8;
 
        location /404.html {
            internal;
        }
 
        location /403.html {
            internal;
            allow all;
        }
 
        location / {
                root /usr/share/nginx/www/torrents;
                index index.php index.xhtml;
                try_files $uri $uri/ /index.php?$args;
        }
 
        location = /favicon.ico {
                log_not_found off;
        }
 
        location ~ \.php$ {
                client_max_body_size 500m;
                root /usr/share/nginx/www/torrents;
                fastcgi_index  index.php;
                fastcgi_intercept_errors on;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_buffers 256 16k;
                fastcgi_max_temp_file_size 0;
                include fastcgi_params;
        }
        location ~ /\.ht {
                deny all;
        }
    }
}


Делаем
Код:
service nginx restart && service php5-fpm restart

Проверяем.
Результаты один в один повторяют описанные в посте #15.
В логе ошибок пусто. На всякий случай, access_log (понимаю, что не нужен):
Код:
194.xx.125.xxx - - [11/Apr/2014:10:34:45 +0400] "-" 400 0 "-" "-"
194.xx.125.xxx - - [11/Apr/2014:10:34:45 +0400] "-" 400 0 "-" "-"
194.xx.125.xxx - - [11/Apr/2014:10:34:45 +0400] "GET /test.php HTTP/1.1" 200 14256 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0"
194.xx.125.xxx - - [11/Apr/2014:10:34:45 +0400] "GET /test.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2536 "http://torrents.petrachuk.ru/test.php" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.$
194.xx.125.xxx - - [11/Apr/2014:10:34:45 +0400] "GET /test.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2158 "http://torrents.petrachuk.ru/test.php" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.$
194.xx.125.xxx - - [11/Apr/2014:10:34:51 +0400] "GET /index.html HTTP/1.1" 500 5 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0"
194.xx.125.xxx - - [11/Apr/2014:10:34:54 +0400] "GET / HTTP/1.1" 500 5 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0"
Какие-нибудь еще идеи? Куда копать?
Нужно именно reload
 
Сверху