пришлось поднять веб сервер nginx на windows, использовал связку nginx php mysql pmyadmin, пытаюсь развернуть сайт yii2-advanced, но с настройками nginx не получается так как никогда не сталкивался с настройкой... структура такая nginx --conf --php public_html --localhost --mysql --phpMyAdmin --yii2-advanced.su вот так настроил nginx Код (Text): #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 это из за вот этого Код (Text): 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; } } а вот как исправить не понимаю, помогите разобраться с проблемой?
говорят сейчас многие переходят на Apache, потому что если используешь nginx - может вломиться ОМОН - аккуратней там, береги себя
так по сути там вся проблема в «нарушении авторских и смежных прав», а никто не говорит что нельзя использовать проект, или я что то не знаю? скиньте ссылку где говорится что запрещено использовать Nginx (если такая информация есть)
кому приколы, а кто то не знает как настроить этот веселый nginx))), уже второй день мучаюсь много вариантов было, ну пока не получается
Новый владелец может сменить лицензию и nginx внезапно перестанет быть не только бесплатной, но и opensource. Так что вполне даже может быть.
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; если это убрать то вообще работать не будет
ну так да, потому что где-то в логике тоже напутано с url. У вас есть location, который подбирается исходя из введенного адреса, есть root/alias, которые указывают где на самом деле лежат файлы, есть try_files, которые указывают в каком порядке проверять что можно загрузить. Где-то в них есть ошибка, которая закрывается костылем в виде rewrite, убираете его, а затем разбираетесь со всем остальным.
Пропиши алиас, типа ln -s /usr/share/phpmyadmin /var/www Зачем тебе перенаправление, если тебе это не нужно.