Назад | Перейти на главную страницу

Nginx не работает с Laravel

У меня есть веб-сервер (капля) в DigitalOcean. Эта капля работает на Ubuntu 16.04. Я правильно установил Laravel, так что могу использовать "новое имя приложения laravel" и "php artisan ..."внутри новой папки.

Я установил Nginx в качестве предпочтительного веб-сервера.

Я создал проект Laravel в / var / www / folder1 / appname / а в файле конфигурации сервера nginx у меня есть это:

/ и т.д. / nginx / сайты-доступные / имя приложения:

server {
    listen 80;
    listen [::]:80;

    server_name mydomain.de www.mydomain.de
    root /var/www/folder1/appname/public;
    index index.php index.html index.htm;

    location / {
            try_files $uri $uri/ /index.php?$is_args$args;
    }

    # I have tried it with and without this part
    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
}

Я связал этот файл с системой / и т.д. / nginx / сайты с поддержкой.

Когда я иду в mydomain.de все, что я вижу, это либо страница nginx по умолчанию, либо страница apache по умолчанию.

Я "chown'nd"'все ниже / var / www / в мою учетную запись и группу.

Когда я последовал этот учебник и загрузил проект Quickstart с Github, он сработал.

Я делаю что-то неправильно?

P.S. Сейчас я использую php 7.1 и 7.0, когда пробовал это руководство. Но мне пришлось обновить scince composer

Если вы получаете страницу nginx по умолчанию, она не берет заголовок хоста и, следовательно, использует блок сервера по умолчанию.

Я заметил, что в конце этой строки отсутствует точка с запятой:

имя_сервера mydomain.de www.mydomain.de

Если это так на вашем реальном сервере, это объяснит проблему. Я считаю, что результат nginx -t сообщит об ошибке.