настроить nginx yii2-starter-kit

Различные вопросы по установке и настройке фреймворка, конфигурции веб-сервера и IDE.
Ответить
Vladimir-stv
Сообщения: 2
Зарегистрирован: 2019.12.16, 10:23

настроить nginx yii2-starter-kit

Сообщение Vladimir-stv »

пришлось поднять веб сервер nginx на windows, использовал связку nginx php mysql phpmyadmin, пытаюсь развернуть сайт yii2-starter-kit, но с настройками nginx не получается так как никогда не сталкивался с настройкой...

структура такая

nginx
--conf
--php
public_html
--localhost
--mysql
--phpMyAdmin
--yii2-advanced.su

вот так настроил nginx

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

#user  nobody;
worker_processes  1;
 
error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;
 
pid        logs/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
    include mime.types;
   
    server {
       listen 443;
       server_name yii2-advanced.su;
       rewrite ^(.*) http://$host$1 permanent;
    }
   
   
    server {
         listen 80 default; # этот конфиг - по умолчанию для 80 порта
       
         server_name ~^(www\.)?(?<domain>.+)$;
         set $base_root C:/nginx/public_html/$domain; # передаем путь в переменную $base_root
         root $base_root;  # корень сайта определяем автоматически
         index index.php index.html; # в каком порядке искать индексные файлы
         charset utf-8;
       
        location = /admin {
        return 301 /admin/;
       }
     
       location / { # лицевая страница сайта
        root $base_root/frontend/web;
        try_files $uri $uri/ /frontend/web/index.php$is_args$args;
        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|pdf|ppt|txt|bmp|rtf|js)$ {
            access_log off;
            expires max;
        }
        location ~ ^/assets/.+\.php(/|$) {
            deny all;
        }
    }
 
 location /admin { # закрытая страница сайта
        alias $base_root/backend/web/;
 
        try_files $uri $uri/ /backend/web/index.php$is_args$args;
 
        location ~ ^/admin/.+\.(css|js|ico|png|jpe?g|gif|svg|ttf|mp4|mov|swf|pdf|zip|rar)$ {
            log_not_found off;
            access_log off;
            try_files $uri =404;
        }
        location ~ ^/admin/assets/.+\.php(/|$) {
            deny all;
        }
    }
 
    location /api {
        alias $base_root/api/web/;
 
        try_files $uri $uri/ /api/api/web/index.php$is_args$args;
 
        location ~ ^/api/.+\.(css|js|ico|png|jpe?g|gif|svg|ttf|mp4|mov|swf|pdf|zip|rar)$ {
            log_not_found off;
            access_log off;
            try_files $uri =404;
        }
        location ~ ^/api/assets/.+\.php(/|$) {
            deny all;
        }
    }
 
    client_max_body_size 64m;
 
    location ~ ^/.+\.php(/|$) {
        rewrite (?!^/backend/web)^/admin(/.+)$ /backend/web$1 break;
        rewrite (?!^/api/web)^/api(/.+)$ /api/web$1 break;
 
 
        rewrite (?!^/((frontend|backend|api)/web|admin|api))^ /frontend/web$uri break;
 
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000; # proxy requests to a TCP socket
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        try_files $fastcgi_script_name =404;
          }
        }
     }
проблема в том что при открытии localhost дописывается /frontend/web и при открытии phpmyadmin тоже дописывается frontend/web

это из за вот этого

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

location / { # лицевая страница сайта
        root $base_root/frontend/web;
        try_files $uri $uri/ /frontend/web/index.php$is_args$args;
        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|pdf|ppt|txt|bmp|rtf|js)$ {
            access_log off;
            expires max;
        }
        location ~ ^/assets/.+\.php(/|$) {
            deny all;
        }
    }
а вот как исправить не понимаю, помогите разобраться с проблемой?
Ответить