пользовательский корень nginx для определенных адресов


пользовательский корень nginx для определенных адресов

16.01.2020 02:55:35 Просмотров 93 Источник

Я установил 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;
    }
}


У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/59769172/nginx-custom-root-for-certain-addresses#comment105684169_59769172
@UtsavKesharwani да, я перезапустил nginx. И журнал ошибок пуст. Это дает мне 404
https://stackoverflow.com/questions/59769172/nginx-custom-root-for-certain-addresses#comment105684199_59769172
@RichardSmith не могли бы вы указать мне направление, как это будет выглядеть. Я здесь новичок

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

Danila Vershinin

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;
    }
}
https://stackoverflow.com/questions/59769172/nginx-custom-root-for-certain-addresses/59777937#comment105710257_59777937
Спасибо! Я заставил его работать на индекс.html, однако, не работает для php. Если его достать до индекса.php он пытается что-то скачать
https://stackoverflow.com/questions/59769172/nginx-custom-root-for-certain-addresses/59777937#comment105732178_59777937
Ну, Вам, очевидно, нужно location ~ \.php$ { ...указание способа прокси-запросов к PHP-FPM. Это было бы по-другому, если вы используете сокеты UNIX против TCP для него. Ответ не может вместить полную конфигурацию NGINX :)
Помочь в развитии проекта:
Закрыть X