Указание пути к маленькой иконке сайта (favicon.ico), который отображается во вкладке браузера, в поисковике и т.д. :
Указание пути к файлу robots.txt, в котором описывается поведение (что он должен индексировать, а что - не должен) робота интернет-поисковика (google, yandex и т.п.), когда он приходит на сайт:
Для директивы location с регулярным выражением ~* \.(css|gif|ico|jpeg|jpg|js|png)$ будут применены настройки в блоке {}:
Explain параметров в {}
log_not_found off;→ указывает, что nginx не должен писать в логи ошибки о ненаходе(😱) данного файла. Позволяет не захламлять логи.
access_log off;→ указывает, что nginx не должен писать в логи инфу об обращении (access) к данному файлу. Позволяет не захламлять логи.
allow all;→разрешает любому юзер получать доступ к данному файлу
expires max;→ указывает, что клиенты должны кэшировать эти файлы на максимальное значение срока действия, чтобы уменьшить кол-во таких требовательных запросов к серверу.
Определение настроек для обработки запросов, которые относятся к корневому каталогу сайта:
try files $uri $uri/ /index.php$is_args$args→ указывает, как nginx будет искать нужные файлы для обработки запросов:
Ищется каталог, соответствующий $uri/ (запрошенный URL) и индексного файла в этом же каталоге
При ненаходе(🤨) перенаправляет запрос файлу index.php (для дальнейшей обработки этого запроса) с передачей параметров $is_args и $args, а не выводит “404 Not Found” как в дефолтном конфиге
Настройки для URL-адресов, содержащих файлы с расширением .php (в этом случае, запросы, которые заканчиваются на .php):
include snippets/fastcgi-php.conf;→ указывает, что нужно включить конфиг fastcgi-php.conf - настройки для обработки PHP-скриптов.
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;→ указывает, что nginx должен передавать обработку PHP-скриптов FastCGI-серверу, которая работает локально по такому пути: /var/run/php/php7.4-fpm.sock .
Проверка конфига и nginx restart
После применения настроек нужно проверить конфиги на валидность и перезагрузить конфиги nginx:
WordPress
Установка
Скачать последнюю версию wp можно с офиц сайта:
И туда же копируй содержимое извлеченной папки из архива со всеми скрытыми файлами и с разрешениями всех файлов:
Указываем владельца папки /var/www/wordpress юзера и группу www-data→ это юзер и группа nginx-а, поэтому ему нужен доступ к этой папке:
Конфигурация wordpress
Копируем sample конфига в дефолтный конфиг wp-config.php (чтобы иметь основу для последующих изменений). Копируем сразу от юзера www-data, чтобы потом еще и не chown-ить из root-а в www-data:
Нужно поменять секретные ключи в конфиге wp-config.php; они будут использоваться только внутри WP и лишние действия производить не нужно будет → с удобством использования проблем не будет. Чтобы сгенерировать эти ключи можно использовать API с офиц сайта WP:
Output будет примерно такой:
Его нужно вставить в конфиг wordpress вместо этого шаблона:
Нужно изменить параметры БД в этом месте:
А именно:
И нужно ниже добавить настройку метода, которым WP будет пользоваться для записи данных в БД (по сути, даем веб-серверу разрешение на запись):
Завершение настройки через WebUI
Нужно зайти на страницу (я захожу со своего ПК, поэтому просто ввожу в браузере IP виртуалки, т.к. там стоит веб-сервер).
После выбора языка нужно будет ввести название сайта, username, пароль к сайту, email и нажать Установить WordPress.
После этого мы попадем на wp-admin - панель управления WP. Получить к нему доступ можно по URL https:///wp-admin
Unsolved PHP dependencies for WordPress
WP будет ругаться, что не все нужные расширения установлены, поэтому можно их установить командой: