Yii2 как добраться до bakend с помощью nginx?

Я использую следующую конфигурацию nginx:
server {
    set $yii_bootstrap "index.php";
    charset utf-8;
    client_max_body_size 128M;

    listen 80; ## listen for ipv4
    #listen [::]:80 default_server ipv6only=on; ## listen for ipv6

    server_name test.site.ru;
    root        /var/www/site.ru/test/frontend/web;
    index       $yii_bootstrap;

    access_log  /var/www/site.ru/logs/test.site.access.log  main;
    error_log   /var/www/site.ru/logs/test.site.error.log;

    location /admin {
        try_files $uri $uri/ /$yii_bootstrap?$args;
        root /var/www/site.ru/test/backend/web;
   }

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

    # uncomment to avoid processing of calls to unexisting ystatic files by yii
    #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
    #    try_files $uri =404;
    #}
    #error_page 404 /404.html;

    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass   127.0.0.1:9000;
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
    }

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


Но никак не выходит сделать доступ к backend через запрос site.ru/admin
Подскажите, пожалуйста, как решить это дело?
  • Вопрос задан
  • 5261 просмотр
Пригласить эксперта
Ответы на вопрос 3
@Zohei
Уперся в туже стену! Получилось в итоге решить проблему? =)
.....Спустя час.... Проблема решилась безумно просто и не через нжинкс... достаточно было отключить кеширование веб страниц в фаербаге и не ломать голову конфигами...
Вот минимальная рабочая конфигурация:
server {
    listen       80;
    server_name  example.ru;
    root         /home/example/data/www/example.ru;
    index        index.html index.php;
    charset      utf-8;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location /admin {
         try_files $uri $uri/ /admin.php?$args;
    }

    location ~ \.php$ {
        root   /home/example/data/www/example.ru;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /home/example/data/www/example.ru$fastcgi_script_name;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include        fastcgi_params;
        fastcgi_param  PATH_INFO $fastcgi_path_info;
    }
}


Осталось добавить редиректы с www и слэшей на конце и радоваться.
Ответ написан
@AlexGx
Yii2 developer, business analytics
Присоеднияюсь к вопросу, пробовал аналогичным образом - не получилось.
Ответ написан
Gambits
@Gambits
php / yii
в конфиге попробуйте указать listen site.loc:80; ## listen for ipv4 - для фронтенда и backend.site.loc:80; - для бэкэнда - соответственно имена доменов ваши должны быть - не копируйте тупо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы