Помогите настроить Nginx

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
Аватара пользователя
sander_li
Сообщения: 10
Зарегистрирован: 2013.09.11, 14:27

Помогите настроить Nginx

Сообщение sander_li »

Пробую запустить приложение на yii2 (advanced шаблон).
На апаче все отлично работает.
Как только стал использовать nginx перестал работать Urlmanager.
В чем может быть причина?

Конфиг брал от сюда
http://www.yiiframework.com/doc-2.0/gui ... ation.html
в php.ini cgi.fix_pathinfo = 0;

nginx/1.4.6
Пробовал на PHP 5.5.9 и PHP 5.4
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Помогите настроить Nginx

Сообщение lynicidn »

там настройки для fast cgi и они предусматривают наличие файла
include fastcgi.conf;
Аватара пользователя
sander_li
Сообщения: 10
Зарегистрирован: 2013.09.11, 14:27

Re: Помогите настроить Nginx

Сообщение sander_li »

Не помогает. Подключаю так /etc/nginx/fastcgi.conf

Код: Выделить всё

#fastcgi.conf
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Помогите настроить Nginx

Сообщение samdark »

vhost:

Код: Выделить всё

server {
    listen       80;
    server_name  yii2-basic.local;
    root    c:/dev/yii2/apps/basic/web/;

    location / {
        try_files   $uri $uri/ /index.php?$args; # Redirect everything that isn't real file to index.php including arguments.
    }

    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass   127.0.0.1:9000;
    }

    location ~ /\.(ht|svn) {
        deny all;
    }
}
 
fastcgi.conf:

Код: Выделить всё

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
 
nginx.conf:

Код: Выделить всё

#user  nobody;
worker_processes 1;

error_log  logs/error.log  warn;
pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    server_names_hash_bucket_size 64;

    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;
    charset utf-8;
    
    index index.php index.htm index.html;
    
    include vhosts/*.conf;
}
Аватара пользователя
sander_li
Сообщения: 10
Зарегистрирован: 2013.09.11, 14:27

Re: Помогите настроить Nginx

Сообщение sander_li »

Не помогает.

Может дело в самих правилах yii? Но на апаче работает же

Код: Выделить всё

'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                '<slug:\w+>' => 'posts/view',
            ]
        ],
 
Пути строятся вот так /posts/view?slug=nedorogoy-otdyh-v-sankt-peterburge, вместо /nedorogoy-otdyh-v-sankt-peterburge

Мой конечный конфиг.. Быть может что-то упустил из виду.

Код: Выделить всё

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}
http {
    include     /etc/nginx/mime.types;
    access_log  /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    sendfile        on;
    keepalive_timeout  65;
    tcp_nodelay        on;
          server_tokens off;
          proxy_set_header Range "";

    upstream php-fpm {
        server 127.0.0.1:9000;
        #server unix:/var/run/php5-fpm.sock;
    }

  include /var/www/app.dev/nginx.conf;
}
 

Код: Выделить всё

#frontend
server {
    set $yii_bootstrap "index.php";
    charset utf-8;
    client_max_body_size 128M;

    listen 80; ## listen for ipv4

    server_name app.dev;
    root        /var/www/app.dev/frontend/web;
    index       $yii_bootstrap;

    location / {
        # Redirect everything that isn't real file to yii bootstrap file including arguments.
        try_files $uri $uri/ /$yii_bootstrap?$args;
    }

    location ~ \.php$ {
       include fastcgi.conf;
       fastcgi_pass   127.0.0.1:9000;
    }

    location ~ /\.(ht|svn|git) {
        deny all;
    }
}


#backend
server {
    set $yii_bootstrap "index.php";
    charset utf-8;
    client_max_body_size 128M;

    listen 80; ## listen for ipv4
 
    server_name admin.app.dev;
    root        /var/www/app.dev/backend/web;
    index       $yii_bootstrap;

    location / {
        try_files $uri $uri/ /$yii_bootstrap?$args;
    }

    location ~ \.php$ {
       include fastcgi.conf;
       fastcgi_pass   127.0.0.1:9000;
    }

    location ~ /\.(ht|svn|git) {
        deny all;
    }
}
 

Код: Выделить всё

#fastcgi.conf
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
 
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Помогите настроить Nginx

Сообщение samdark »

А если убрать правило из urlmanager-а, работает?
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Помогите настроить Nginx

Сообщение lynicidn »

nedorogoy-otdyh-v-sankt-peterburge
это вроде не \w+
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Помогите настроить Nginx

Сообщение lynicidn »

как говорит вики - \w [[:word:]] Буквенный или цифровой символ или знак подчёркивания
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Помогите настроить Nginx

Сообщение samdark »

Дефис вроде не знак подчёркивания... Вообще проще оставить '<slug>' => 'posts/view',
Аватара пользователя
sander_li
Сообщения: 10
Зарегистрирован: 2013.09.11, 14:27

Re: Помогите настроить Nginx

Сообщение sander_li »

Действительно дело в '<slug>' => 'posts/view' . Большое спасибо! Только осталось не понятным, почему с апачем работало :) Сочту на свою невнимательность)
Закрыто