Настройка веб-сервера nginx

  1. Статичный сайт
  2. PHP-FPM
  3. Копирование

1. Статичный сайт

1.1. Установка

1 Установите программы.

2 Добавьте пользователя www-data в группу пользователя, во владении которого находится сайт. Для примера, если имя текущего пользователя — owner:

1.2. Настройка

На одном сервере (или даже на вашем собственном компьютере) можно разместить множество сайтов. Каждый из таких сайтов называется виртуальным хостом. Для того, чтобы создать виртуальный хост (новый сайт), нужно создать файл в конфигурации nginx, создать ссылку на этот файл, и перезагрузить веб-сервер.

Вот процесс по шагам:

1 Скопируйте файл с правами суперпользователя в /etc/nginx/sites-available/site.localhost, где site.localhost — адрес вашего сайта. Использовать такое имя файла не обязательно, это только для удобства.

В этой конфигурации используется параметр error_page 404 /error404.html;. Вы можете создать файл error404.html (или изменить имя файла в конфигурации) для отображения собственной странички с сообщением об ошибке 404.

Или скачайте его с помощью wget

Где site.localhost — адрес вашего сайта. Использовать такое имя файла не обязательно, это только для удобства.

2 Отредактируйте конфигурацию виртуального хоста.

Где site.localhost — имя файла с конфигурацией.

Замените пути

Название параметра Значение по умолчанию (замените на собственное) Назначение параметра
server_name site.localhost www.site.localhost URL сайта
root /home/owner/apps/site.localhost/www Путь к файлам сайта
error_log /home/owner/apps/site.localhost-error.log Путь к логу для записи ошибок

3 Создайте ссылку на конфигурацию

Где site.localhost — имя файла с конфигурацией.

Важно при создании ссылки использовать абсолютные, а не относительные пути. Это нужно для корретной работы cron после перезапуска сервера.

4 Перезапустите nginx

5 Проверьте работоспособность сайта в браузере. Если не работает — смотрите подробности в логе с ошибками.

2. PHP-FPM

2.1. Установка

1 Установите программы.

2 Добавьте пользователя www-data в группу пользователя, во владении которого находится сайт. Для примера, если имя текущего пользователя — owner:

2.2. Настройка

1 Отредактируйте конфигурацию php-fpm.

Файл Параметр Новое значение
/etc/php/(номер версии php)/fpm/php.ini short_open_tag On
/etc/php/(номер версии php)/fpm/pool.d/www.conf listen 127.0.0.1:9000

Вы можете использовать другой номер порта, если 9000 занят. В этом случае измените номер порта в конфигурации хоста nginx ниже.

После внесения изменений в конфигурацию перезапустите php-fpm. В команде ниже замените 8.2 на номер версии php, которую вы используете.

2 Скопируйте файл с правами суперпользователя в /etc/nginx/sites-available/site.localhost, где site.localhost — адрес вашего сайта. Использовать такое имя файла не обязательно, это только для удобства.

Или скачайте его с помощью wget

Где site.localhost — адрес вашего сайта. Использовать такое имя файла не обязательно, это только для удобства.

2 Отредактируйте конфигурацию виртуального хоста.

Где site.localhost — имя файла с конфигурацией.

Замените пути

Название параметра Значение по умолчанию (замените на собственное) Назначение параметра
server_name site.localhost www.site.localhost URL сайта
root /home/owner/apps/site.localhost/www Путь к файлам сайта
error_log /home/owner/apps/site.localhost-error.log Путь к логу для записи ошибок

3 Создайте ссылку на конфигурацию

Где site.localhost — имя файла с конфигурацией.

Важно при создании ссылки использовать абсолютные, а не относительные пути. Это нужно для корретной работы cron после перезапуска сервера.

4 Перезапустите nginx

5 Проверьте работоспособность сайта в браузере. Если не работает — смотрите подробности в логе с ошибками.

3. Создание нового хоста копированием конфигурации имеющегося

Копирование хоста

1 Скопируйте имеющуюся конфигурацию.

2 Замените пути. Если порядок имён идентичен, можно воспользоваться автозаменой F4 в mcedit.

3 Создайте ссылку на новую конфигурацию.

4 Перезапустите nginx

5 Проверьте работоспособность сайта в браузере. Если не работает — смотрите подробности в логе с ошибками.

НИИНТ Все права защищены.