nginx symfony2 (rewrite)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модератор: SLEDopit

BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

nginx symfony2

Сообщение BigBrother »

Подскажите, как разрулить два проект symfony2 через nginx, с помощью одного server_name`а?
Есть два проекта на симфони2

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

/var/www/site
/var/www/admin

И одно доменное имя site.com
Необходимо чтобы админка сайта была доступна через site.com/admin
Не могу понять как это сделать. Что необходимо изменить в стандартных реврайтах для симфони2 и nginx, что бы запрос /admin корректно отрабатывал из другой папки. Пытался добавить alias - не помогло

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

server {
    server_name  site.com;

    error_log /var/log/nginx/site_error.log;
    access_log /var/log/nginx/site_access.log;

    # strip app.php/ prefix if it is present
    rewrite ^/app\.php/?(.*)$ /$1 permanent;

 location /admin {
    alias /var/www/admin/web;
 }

    location / {
        root /var/www/site/web;
        index app.php;
        try_files $uri @rewriteapp;
    }

    location @rewriteapp {
        rewrite ^(.*)$ /app.php/$1 last;
    }

    # pass the PHP scripts to FastCGI server from upstream phpfcgi
    location ~ ^/(app|app_dev|config)\.php(/|$) {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param  HTTPS off;
    }
}
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18115
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: nginx symfony2

Сообщение Bizdelnick »

Вам не alias надо указывать, а root.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: nginx symfony2

Сообщение BigBrother »

если просто

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

...
 location /admin {
        root /var/www/admin/web;
}
...

получаю

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

*1 open() "/var/www/admin/web/admin" failed (2: No such file or directory)

если добавить

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

...
 location /admin {
        root /var/www/admin/web;
        index app.php;
        try_files $uri @rewriteapp2;
    }
    location @rewriteapp2 {
        rewrite ^(.*)/admin$ /app.php/$1 last;
    }
...

получаю

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

FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18115
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: nginx symfony2

Сообщение Bizdelnick »

А зачем Вы указываете несуществующий путь?
BigBrother писал(а):
04.07.2014 15:08

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

root /var/www/admin/web;
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: nginx symfony2

Сообщение BigBrother »

Bizdelnick писал(а):
04.07.2014 18:04
А зачем Вы указываете несуществующий путь?
BigBrother писал(а):
04.07.2014 15:08

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

root /var/www/admin/web;


путь существует - это второй проект.
BigBrother писал(а):
03.07.2014 19:24
Есть два проекта на симфони2

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

/var/www/site
/var/www/admin

И одно доменное имя site.com
Необходимо чтобы админка сайта была доступна через site.com/admin

Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18115
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: nginx symfony2

Сообщение Bizdelnick »

А, дошло. Лишний /admin добавился, надо его убрать. Попробуйте так:

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

location /admin {
        root /var/www/admin/web;
        rewrite ^/admin/(.*)$ /$1 break;
        index app.php;
        try_files $uri @rewriteapp2;
}
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: nginx symfony2

Сообщение BigBrother »

Bizdelnick писал(а):
04.07.2014 20:07
А, дошло. Лишний /admin добавился, надо его убрать. Попробуйте так:

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

location /admin {
        root /var/www/admin/web;
        rewrite ^/admin/(.*)$ /$1 break;
        index app.php;
        try_files $uri @rewriteapp2;
}

получил 404 Not Found

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

"host=site.com" "request=GET /admin HTTP/1.0" "uri=/admin" "args=-" "request_uri=/admin" "request_filename=/var/www/admin/web/admin" "query_string=-"

Спасибо сказали:

BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: nginx symfony2

Сообщение BigBrother »

При добавлении обычного php проекта - rockmongo, который без хитрых реврайтов, та же беда. Не получается подружить его с symfony2 через symfony2site.com/rockmongo
Спасибо сказали: