Хобрук: Ваш путь к мастерству в программировании

Вход в приложение Nginx запрещен, хотя БД и CMS синхронизированы, а разрешения для директории DR установлены

В Ubuntu 16.04 с Bash я установил LEMP, и я не могу получить доступ к приложению WordPress из браузера, хотя данные БД соответствуют (насколько я помню), а каталог корневого приложения документа имеет правильные разрешения (см. Ниже).

Конфигурация Nginx

Приложение WordPress wp-config.php

Это единственная часть, которую я изменил в wp-config.php:

define('DB_NAME', 'example.com');
define('DB_USER', 'example.com');
define('DB_PASSWORD', 'example.password');

Мои сбросы перед тестированием

chown -R www-data:www-data /var/www/html/
chmod -R a-x,a=rX,u+w /var/www/html/
systemctl restart nginx.service
/etc/init.d/php*-fpm restart

Журналы Nginx

Я проверил все три журнала Nginx (_4 _, _ 5_ и error). Первые два журнала не выводят ошибок, но error выводит следующее:

directory index of "/var/www/html/example.com/" is forbidden

Мой вопрос

Почему вход запрещен, учитывая вышеперечисленные данные? Что я скучаю?

Примечания:

  1. Эта проблема уникальна для приложения WordPress. Этого не происходит с приложением PHPmyadmin, отличным от HTTPS.
  2. Пользователь БД и имя БД приложения WordPress идентичны друг другу, а также идентичны имени каталога приложения.

  • Есть ли что-нибудь полезное в ваших журналах ошибок nginx? (расположен /var/log/nginx/error.log) 06.03.2018
  • @IsThisJavascript Я обновил вопрос. 06.03.2018

Ответы:


1

Корневой сервер вашего Nginxapp.conf должен иметь следующий вид:

root /var/www/html;

Нет:

root /var/www/html/example.com/;

Кстати, этот параметр был определен в виртуальной машине Nginx default.conf, это своего рода избыточно, чтобы снова определить его в файле конфигурации приложения.

Обновлять

С вашим комментарием о том, что после изменения корня на root /var/www/html; не работает, я дополнительно проверяю ваши настройки и замечаю, что у вас нет директивы местоположения для обработки корневого каталога, попробуйте изменить эту строку в вашем настройка виртуального хоста из:

try_files $uri $uri/ =404;

to:

location / {
    try_files $uri $uri/ /index.php?$args;
}
06.03.2018
  • К сожалению, это изменение не помогло: после этого изменения вход по-прежнему запрещен. 07.03.2018
  • Я обновил свое сообщение, пожалуйста, ознакомьтесь с моим обновлением, касающимся location / настройки. 07.03.2018
  • Пожалуйста, посмотрите мой ответ, дорогой hcheung. 07.03.2018
  • Приятно видеть, что теперь это работает. Я думаю, что параметры /index.php?args; или /index.php?q=$uri&$args; зависят от настроек вашей постоянной ссылки в WordPress. 07.03.2018

  • 2

    Я смог решить эту проблему с помощью этого конф:

    server {
        root /var/www/html/judith-law.co.il;
        server_name judith-law.co.il www.judith-law.co.il;
        index index.php index.html index.htm;
        location / {
            try_files $uri $uri/ /index.php?q=$uri&$args;
        }
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }
        location ~* \.(jpg|jpeg|png|gif|ico|css|js|ttf|woff|pdf)$ {
            expires 365d;
        }
    
     # managed by Certbot
    
        listen 443 ssl http2; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    
    
    }
    server {
        if ($host = www.example.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    
        if ($host = example.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
        listen 80;
        return 404; # managed by Certbot
    
    
    
    
    }
    
    07.03.2018
    Новые материалы

    Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
    Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

    Это оно
    Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

    7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
    Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

    Базовое руководство по переносу концепций обучения в глубокое обучение
    Обзор По мере того, как машинное обучение становится все более мощным и продвинутым, модели, обеспечивающие эту расширенную возможность, становятся все больше и начинают требовать огромного..

    C в C.R.U.D с использованием React-Redux
    Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

    5 обязательных элементов современного инструмента конвейера данных
    В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..

    Случай использования npm3 вместо npm2 для разработки библиотеки
    Некоторое время назад я создал библиотеку на NodeJS, чтобы упростить рендеринг на стороне сервера и клиента. Он использует React и React Router для отображения соответствующего HTML на веб-сайте...