настройка перенаправлений nginx

Тема в разделе "Администрирование серверов", создана пользователем gordy, 15 дек 2019.

XEvil 4.0 Релиз Состоялся!
Модераторы: mefish
  1. gordy

    gordy

    Регистр.:
    25 авг 2015
    Сообщения:
    224
    Симпатии:
    25
    пришлось поднять веб сервер nginx на windows, использовал связку nginx php mysql phpmyadmin, пытаюсь развернуть сайт yii2-advanced, но с настройками 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;
            }
        }
    а вот как исправить не понимаю, помогите разобраться с проблемой?


     
  2. Minor

    Minor

    Регистр.:
    16 авг 2012
    Сообщения:
    245
    Симпатии:
    100
    Как то дофига у тебя тут написано, вот на YII на прошлой неделе делал

    Код:
        server {
            listen       80 default_server;
            listen       [::]:80 default_server;
            server_name  ***************** написать хостнейм;
            root         /usr/share/nginx/html/web;
            index index.php index.html index.htm
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location / {
                try_files $uri $uri/ /index.php?$args;
            }
    
         ### Ниже конфигурация для php-fpm
           location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
            }
           
    
    у меня правда YII basic