пользовательский корень nginx для определенных адресов
Я установил nginx на свой VPN. И я очень новичок с этим, так что это может быть глупой ошибкой, но я не смог понять наш или google это.
То, что я пытаюсь сделать и постоянно терплю неудачу, - это установить корневую папку для определенных адресов. Например: mydomain.com/websiteone будет иметь корневую папку в /var/www и/ведущий Джонни/общественных/ и mydomain.com/websitetwo/ in /var / www / websitetwo / public/
Я использую Ларавель, поэтому мне нужно это сделать.
Вот конфинг и то, что я пытался сделать в разных вариациях.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www;
index index.html index.php index.htm;
location /websiteone/ {
root /var/www/websiteone/public/;
try_files $uri $uri/ 404;
}
location /websitetwo/ {
root /var/www/websitetwo/public/;
try_files $uri $uri/ 404;
}
}





Ответы - пользовательский корень nginx для определенных адресов / nginx custom root for certain addresses

17.01.2020 12:18:10
Нет необходимости в alias
или в чем-то необычном, пока путь URL dir совпадает с фактическими именами каталогов ваших двух экземпляров Laravel (см. ниже).
Кроме того, Laravel имеет типичный шаблон URL "front controller", который означает, что URL-адреса, которые не существуют, должны быть загружены через его index.php
. Так:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www;
index index.html index.php index.htm;
location /websiteone/ {
root /var/www/websiteone/;
try_files /public$uri /public$uri/ /public/index.php$is_args$args;
}
location /websitetwo/ {
root /var/www/websitetwo/;
try_files /public$uri /public$uri/ /public/index.php$is_args$args;
}
}


location ~ \.php$ { ...
указание способа прокси-запросов к PHP-FPM. Это было бы по-другому, если вы используете сокеты UNIX против TCP для него. Ответ не может вместить полную конфигурацию NGINX :)