Step 5 — Starting and Testing Redis
Start the systemd service by typing:
Check that the service has no errors by running:
This will produce output similar to the following:
To test that your service is functioning correctly, connect to the Redis server with the command-line client:
In the prompt that follows, test connectivity by typing:
This will return:
Next, check that you can set keys by typing:
Retrieve the value by typing:
You should be able to retrieve the value you stored:
After confirming that you can fetch the value, exit the Redis prompt to get back to the shell:
As a final test, we will check whether Redis is able to persist data even after it’s been stopped or restarted. To do this, first restart the Redis instance:
Then connect with the client again and confirm that your test value is still available:
The value of your key should still be accessible:
Exit out into the shell again when you are finished:
Assuming all of these tests worked and that you would like to start Redis automatically when your server boots, enable the systemd service:
With that, your Redis installation is fully operational.
Шаг 1 — Установка и настройка Redis
Чтобы получить последнюю версию Redis, мы будем использовать для установки из официальных репозиториев Ubuntu.
Обновите локальный кэш пакета и установите Redis с помощью следующей команды:
После этого будет выполнена загрузка и установка Redis и ее зависимостей
После этого в файл конфигурации Redis, созданный автоматически при установке, необходимо внести одно важное изменение
Откройте этот файл в предпочитаемом текстовом редакторе:
Внутри файла найдите директиву . Эта директива позволяет объявить систему инициализации для управления Redis как службой, предоставляя вам более широкий контроль за ее работой. Для директивы по умолчанию установлено значение . Поскольку вы запускаете Ubuntu, которая использует систему инициализации systemd, измените значение на :
/etc/redis/redis.conf
Это единственное изменение, которое вам нужно внести в файл конфигурации Redis на данный момент,поэтому сохраните и закройте его после завершения редактирования. Перезапустите службу Redis, чтобы изменения в файле конфигурации вступили в силу:
После этого установка и настройка Redis будет закончена, и вы можете запускать его на вашем компьютере. Перед началом использования Redis рекомендуется сначала проверить корректность работы системы.
Загрузка, компиляция и установка Redis
Загрузка и извлечение исходного кода
Поскольку исходный код не нужно хранить (для обновления программы лучше скомпилировать код заново), его можно загрузить и собрать в каталоге /tmp. Откройте этот каталог:
Теперь загрузите последнюю стабильную версию Redis. Она всегда доступна по этой ссылке.
Распакуйте архив:
Откройте каталог с исходным кодом Redis:
Сборка и установка Redis
Теперь можно скомпилировать бинарные файлы Redis:
После этого можно использовать инструменты для тестирования, чтобы убедиться, что код собран правильно.
На выполнение команды уйдёт несколько минут. После тестирования можно установит бинарные файлы:
Структура сервера LTSP
Что мы должны знать — это компоненты из которых состоит сервер:
- DHCP-сервер — используется для выдачи клиентам IP-адресов и информации о tftp-сервере и пути к загрузчику pxelinux. По дефолту используется dnsmasq, но можно использовать и isc-dhcp-server.
- iPXE — сетевой загрузчик, который показывает меню начальной загрузки клиента.
- mksquashfs — создает сжатую копию образа, который будет использоваться при работе клиента.
- TFTP-сервер — отдает по tftp-протоколу загрузчик, ядро и главный конфиг .
- NFS /NBD — Транслирует образ системы в сеть.
- SSH-сервер — используется для авторизации пользователей и передачи их домашних каталогов на терминальные станции.
Start and Test Redis
Now, we are ready to start the Redis server.
Start the Redis Service
Start up the systemd service by typing:
Check that the service had no errors by running:
You should see something that looks like this:
Test the Redis Instance Functionality
To test that your service is functioning correctly, connect to the Redis server with the command-line client:
In the prompt that follows, test connectivity by typing:
You should see:
Check that you can set keys by typing:
Now, retrieve the value by typing:
You should be able to retrieve the value we stored:
Exit the Redis prompt to get back to the shell:
As a final test, let’s restart the Redis instance:
Now, connect with the client again and confirm that your test value is still available:
The value of your key should still be accessible:
Back out into the shell again when you are finished:
Enable Redis to Start at Boot
If all of your tests worked, and you would like to start Redis automatically when your server boots, you can enable the systemd service.
To do so, type:
5: Переименование команд
Еще одна встроенная функция безопасности Redis позволяет вам переименовывать или полностью отключать определенные команды, которые считаются опасными. Злоумышленники могут использовать такие команды для перенастройки, уничтожения или повреждения данных. как и парольная аутентификация, переименование или отключение команд настраивается в разделе SECURITY файла /etc/redis/redis.conf Вот краткий список опасных команд:
- FLUSHDB
- FLUSHALL
- KEYS
- PEXPIRE
- DEL
- CONFIG
- SHUTDOWN
- BGREWRITEAOF
- BGSAVE
- SAVE
- SPOP
- SREM RENAME DEBUG
Это не полный список, но для начала достаточно будет переименовать или отключить все команды в этом списке.
Отключать или переименовывать команду – это зависит от конкретной ситуации. Если вы знаете, что никогда не будете использовать опасную команду, вы можете ее отключить. В противном случае вы должны переименовать ее.
Откройте файл:
Важно! Далее в мануале приведены общие примеры. Вы должны отключить или переименовать команды, которые важны в вашей конкретной ситуации
Вы можете узнать больше о вредоносном использовании команд на redis.io/commands.
Чтобы отключить команду, просто переименуйте ее в пустую строку, как показано ниже:
Чтобы переименовать команду, дайте ей другое имя, как в приведенных ниже примерах. Переименованные команды другим пользователям должно быть трудно угадать, а вам – легко запомнить.
Сохраните и закройте файл. Перезапустите Redis:
Чтобы проверить новую команду, откройте командную строку Redis:
Пройдите аутентификацию, используя пароль, который вы определили ранее:
Предположим, что вы переименовали команду CONFIG в ASC12_CONFIG; в таком случае попытка запустить команду config должна завершиться ошибкой.
Теперь сработает переименованная команда:
Закройте redis-cli:
Обратите внимание, если вы перезагружаете Redis, не закрыв перед этим командную строку, вам необходимо повторно пройти аутентификацию. В противном случае вы получите эту ошибку:
Важно! Что касается переименования команд, в конце раздела SECURITY в файле /etc/redis.conf содержится предостерегающее заявление:
Важно! Что касается переименования команд, в конце раздела SECURITY в файле /etc/redis.conf содержится предостерегающее заявление:
Это означает, что если переименованная команда не находится в файле AOF или этот файл не был передан slave машинам, тогда проблем не должно быть. Помните об этом при переименовании команд. Лучшее время для переименования команды – это сразу после установки или когда вы не используете AOF (то есть перед развертыванием приложения, использующего Redis).
Если вы используете AOF в установке master-slave, GitHub советует вот что:
Лучший способ избежать проблем с переименованием в таких случаях – убедиться, что переименованные команды применяются ко всем экземплярам установки master-slave.
Установка на DEB дистрибутивы (Ubuntu/Debian)
Сначала выполним обновление пакетов:
# apt update # apt upgrade
После чего непосредственно выполнив установку Redis сервера:
# apt install redis-server
После завершения установки проверим работу установленного сервиса:
$ redis-cli ping
В случае успешной установки в ответ придет текст — PONG, если сервис не установился или не запустился, на экран будет выведена ошибка, о невозможности подключится к сервису или отсутствии команды redis-cli.
Если Redis сервер установлен и запустился, то он будет ожидать подключение на локальном интерфейсе 127.0.0.1 (localhost), порт стандартный — 6379.
Шаг 2 — Тестирование Redis
Как и с любым вновь устанавливаемым программным обеспечением, лучше убедиться, что Redis работает ожидаемым образом перед внесением дальнейших изменений в конфигурацию. Мы пройдемся по целому ряду способов, которые позволяют убедиться, что Redis работает правильно.
Сначала проверьте, что служба Redis запущена:
Если она запускается без ошибок, при вводе данной команды вы должны получить примерно следующий результат:
Здесь вы можете видеть, что служба Redis запущена и уже активирована, т.е. для нее настроен запуск при загрузке сервера.
Примечание: данную опцию рекомендуется использовать во многих стандартных случаях использования Redis. Однако если вы предпочитаете запускать Redis каждый раз вручную при загрузке сервера, воспользуйтесь следующей командой:
Чтобы убедиться, что Redis работает правильно, подключитесь к серверу с помощью клиента командной строки:
В появившемся диалоговом окне протестируйте подключение с помощью команды :
Данный вывод подтверждает, что подключение сервера активно. Затем проверьте, что вы можете задать ключи:
Запросите значение с помощью следующей команды:
Если все работает корректно, вы получите сохраненное значение:
Убедившись, что вы можете получить значение, закройте диалоговое окно Redis и вернитесь в командную строку:
В качестве последнего теста мы проверим, может ли Redis сохранять данные даже после остановки или перезапуска. Для этого необходимо перезапустить Redis:
Откройте клиент командной строки и проверьте, что ваше тестовое значение все еще доступно:
Значение вашего ключа должно оставаться доступным:
Выйдите в командную строку после завершения:
После этого установку Redis можно считать выполненной и готовой к работе. Однако некоторые настройки по умолчанию являются небезопасными и предоставляют злоумышленникам возможность атаковать ваш сервер и получить доступ к данным.Остальные шаги в этом руководстве описывают методы для устранения этих факторов уязвимости, как указано на официальном веб-сайте Redis. Хотя эти шаги не являются обязательными, и Redis будет функционировать, если вы решите не выполнять эти действия, но мы настоятельно рекомендуем вам выполнить описанные ниже шаги, чтобы повысить безопасность вашей системы.
Шаг 5 — Переименование опасных команд
Другой элемент безопасности, встроенные в Redis, подразумевает переименование или полное удаление определенных команд, которые считаются опасными.
При использовании неавторизованными пользователями, такие команды могут использоваться для изменения конфигурации, уничтожения или выведения из строя ваших данных. Как и в случае пароля для аутентификации, переименование или отключение команд выполняется в том же разделе в файле .
Список команд, которые считаются опасными, включает: FLUSHDB, FLUSHALL, KEYS, PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME и DEBUG. Данный список не является всеобъемлющим, но переименование или удаление всех команд в этом списке служит хорошим отправным пунктом для повышения безопасности вашего сервера Redis.
Решение о том, нужно ли отключить или переименовать команду, зависит от ваших потребностей или потребностей вашего сайта. Если вы знаете, что вы не будете использовать команду, которая может быть использована злоумышленниками, тогда вы можете отключить ее. В другом случае мы рекомендуем вам переименовать ее.
Чтобы активировать или отключить команды Redis, откройте файл конфигурации еще раз:
Предупреждение. Седующие шаги с демонстрацией отключения или переименования команд являются примерами. Вы должны отключить или переименовать команды, имеющие смысл для вас. Вы можете просмотреть полный список команд самостоятельно и узнать, как они могут использоваться злоумышленниками, по адресу redis.io/commands.
Чтобы отключить команду, просто укажите пустую строку в качестве имени (обозначается парой кавычек без символов между ними), как показано ниже:
/etc/redis/redis.conf
Чтобы переименовать команду, дайте ей другое имя, как показано в приведенных ниже примерах. Переименованные команды должно быть трудно подобрать, но легко запомнить:
/etc/redis/redis.conf
Сохраните изменения и закройте файл.
После переименования команды примените изменения, перезапустив Redis:
Чтобы протестировать новую команду, откройте командную строку Redis:
Затем выполните аутентификацию:
Предположим, вы переименовали команду в , как показано в предыдущем примере. Сначала попробуйте воспользоваться первоначальной команду . Команда не будет выполнена, потому что вы переименовали ее:
Вызов переименованной команды будет успешным. Регистр не имеет значения:
После этого вы можете закрыть :
Обратите внимание, что если вы уже используете командную строку Redis, а затем перезапустите Redis, вам нужно будет повторно выполнить аутентификацию. Иначе вы получите следующую ошибку при вводе команды:. В отношении практики переименования команд в конце раздела файла есть следующее предостережение:
В отношении практики переименования команд в конце раздела файла есть следующее предостережение:
Примечание: проект Redis предпочитает использовать термины «master» и «slave», в то время как DigitalOcean предпочитает использовать варианты «primary» и «secondary». Чтобы не допустить путаницы, мы решили использовать здесь термины, используемые в документации Redis.
Это значит, что, если переименованная команда не содержится в файле AOF, либо содержится, но AOF файл не передается «slave» компонентам, не будет никаких проблем.
Учитывайте этот момент, когда будете переименовать команды. Лучшее всего переименовать команду, пока вы не используете AOF сохранение или сразу после установки, т.е. до развертывания использующего Redis приложения.
Если вы используете AOF и работаете с конфигурацией master-slave, изучите этот ответ на странице проблем проекта на GitHub. Ниже приводится ответ на вопрос автора:
Таким образом, при переименовании необходимо убедиться, что переименованные команды применяются во всех экземплярах на установках типа «master-slave».
3: Подключение к localhost
По умолчанию Redis доступен только с localhost. Однако если вы установили и настроили Redis по другому мануалу (например, Установка Redis из исходного кода в Ubuntu 18.04), вы могли обновить конфигурации и включить удаленные подключения. Это не так безопасно, как привязка к localhost.
Чтобы исправить это, откройте конфигурационный файл Redis:
Найдите эту строку и раскомментируйте ее:
Сохраните и закройте файл (CTRL + X, Y, ENTER).
Перезапустите сервис:
Убедитесь, что настройки обновились:
Этот вывод показывает, что программа redis-server привязана к localhost (127.0.0.1), что и должно быть согласно конфигурации. Если вы видите в этом столбце другой IP-адрес (например, 0.0.0.0), вы должны убедиться, что вы раскомментировали правильную строку. Затем снова перезапустите Redis.
Теперь, когда установка Redis прослушивается только на локальном хосте, злоумышленникам будет сложнее получить доступ к вашему серверу. Однако Redis в настоящее время не требует аутентификации пользователей. Чтобы исправить это, вы можете включить парольную аутентификацию Redis перед внесением изменений через клиент Redis (redis-cli).
Redis установлен на Linux
Redis разработан с использованием языка C, поэтому вам нужно скомпилировать файл при его использовании, сначала установите среду компиляции языка C. 1) Установите среду c, скомпилированную redis,
2) Загрузите redis-2.6.16.tar.gz в систему Linux
3) Распакуйте в / usr / local
4) Войдите в каталог redis-2.6.16. Используйте команду make для компиляции redis.
5) Использовать в каталоге redis-2.6.16Команда для установки redis в / usr / local / redis После завершения установки еще несколько файлов находятся под bin 6) Скопируйте redis.conf из redis-2.6.16 в установочный каталог redis
7) Запустите redis и выполните команду под bin
После запуска вы увидите страницу приветствия выше. Это интерфейсный запуск. Это окно не может быть закрыто. Когда окно закрыто, redis также закрывается (аналогично Tomcat через startup.bat в bin) Решение. Вы можете настроить фоновый запуск redis, изменив файл конфигурации redis.conf, то есть сервер запущен, но не занимает окно консоли. Добавить в файл redis.conf Указывает на фоновый запуск Используйте команду, чтобы проверить, запускается ли порт 6379 ps -ef | grep redis
Остановите программу Redis Принудительное закрытие pid пройдензапрос Остановите метод правильно
Джедис подключается к Redis удаленно
Удаленное подключение к Redis, необходимо настроить порт Redis 6379 для разработки в брандмауэре Linux Linux открытого брандмауэра CentOS 6 и CentOS 7 отличаются, пожалуйста, обратитесь кhttps://blog.csdn.net/xiao_ma_CSDN/article/details/81915859 Если соединение не установлено, redis имеет конфигурацию защищенного режима в файле redis.conf после 3.2, что означает, что защищенный режим включен, вы можете закомментировать или добавить пароль ниже
Создание unit-файла для Redis
Теперь нужно создать unit-файл systemd для Redis, чтобы система инициализации могла управлять процессом Redis.
Создайте и откройте файл /etc/systemd/system/redis.service.
Добавьте в него раздел , содержащий описание и зависимости процесса:
В разделе нужно настроить поведение сервера. В целях безопасности нельзя запускать сервис как root. Для этого нужно создать отдельного пользователя и группу (в руководстве они условно называются redis).
Чтобы запустить сервис, нужно вызвать бинарный файл redis-server, указанный в настройках. Чтобы остановить его, можно использовать команду Redis shutdown при помощи бинарного файла redis-cli. Чтобы настроить восстановление ошибок Redis, нужно изменить значение директивы Restart на always. Получится так:
Затем добавьте раздел , определяющий target системы systemd, к которому должен подключаться данный сервис.
Сохраните и закройте файл.
Настройка Redis
Для Ubuntu и Debian основной конфигурационный файл Redis сервера Вы найдете по пути /etc/redis/redis.conf, в CentOS (а также BitrixOS) конфигурация располагается в файле /etc/redis.conf.
Наиболее интересным будет параметр maxmemory, он задает ограничение использования оперативной памяти для хранения данных в Redis. По умолчанию Redis может использовать всю доступную память сервера, поэтому если сервер не обладает достаточным количеством постоянно свободной памяти (Вы можете просмотреть информацию о используемой памяти командой free -m), то стоит задать этот параметр. Самым простым решением для выбора максимального объема памяти будет разделить среднее значение нескольких показаний свободной памяти (free -m) пополам.
Например, в течение часа показатели free -m были следующими:
total used free shared buff/cache available Mem: 7170 4616 204 420 2348 2047 total used free shared buff/cache available Mem: 7170 4628 188 422 2352 2034 total used free shared buff/cache available Mem: 7170 4645 169 422 2354 2016
Средним показателем для свободной памяти (столбец free) будет 187 ((204+188+169)/3=187), поэтому ограничим maxmemory в 180 Мб. Для этого откроем файл redis.conf, найдем строку “# maxmemory ”: и заменим её указав нужное значение:
maxmemory 180mb
Также в данном файле стоит обратить внимание на следующие параметры:
- maxclients -количество разрешенных клиентов;
- tcp-backlog — количество соединений которые могут находится в очереди, если все возможные соединения заняты;
- save — условия, при которых данные будут записываться на диск. Данные Redis хранятся в оперативной памяти и в зависимости от значений save сохраняются на диск, что замедляет производительность, но повышает надежность хранения данных. Условию save передается два значение: количество секунд и количество изменений, если за указанное количество происходит указанное количество изменений, то данные будут сохранены на диск. По умолчанию параметры выглядят так:
save 900 1 — сохранить, если за 900 секунд будет хотя бы одно изменение;
save 300 10 — сохранить, если за 300 секунд будет хотя бы 10 изменений;
save 60 10000 — сохранить, если за 60 секунд будет 10000 и более изменений.
Вы можете редактировать текущие правила или удалять их. Вы можете просто закомментировать их (поставить в начале строки #), в этом случае будет достигнута максимальная производительность, т. к. данные не будут записываться на диск, но в случае перезагрузки сервера или Redis все данные будут утеряны.
После внесения каких-либо изменений в конфигурационный файл Redis необходимо перезапустить.
Для Debian/Ubuntu:
service redis-server restart
Для CentOS/BitrixOS:
systemctl restart redis
Шаг 3 — Привязка к localhost
По умолчанию доступ к Redis осуществляется только из localhost. Если вы установили и настроили Redis с помощью другого руководства, вы могли обновить файл конфигурации, чтобы разрешить подключение из любого места. Подобный подход менее безопасен, чем привязка к localhost.
Чтобы исправить это, откройте файл конфигурации Redis для редактирования:
Найдите эту строку и убедитесь, что она незакомментирована (удалите символ , если он существует):
/etc/redis/redis.conf
Сохраните и закройте файл после завершения (нажмите , , затем ).
Затем перезапустите службу, чтобы systemd распознала изменения:
Чтобы убедиться, что изменение вступило в силу, запустите следующую команду :
Данный вывод указывает, что программа привязана к localhost (), отражая изменения, которые вы только что внесли в файл конфигурации. Если вы увидите другой IP-адрес в этой колонке (например, ), вам нужно еще раз проверить, что вы не закомментировали нужную строку и перезапустить службу Redis.
Теперь, когда Redis использует только localhost, злоумышленникам будет труднее выполнять запросы или получить доступ к вашему серверу. Однако для Redis в настоящее время не настроено требование аутентификации пользователей перед внесением изменений в конфигурацию или данные, которые она хранит. Чтобы исправить это, Redis позволяет настроить требование аутентификации с помощью пароля перед внесением изменений через клиент Redis ().
Пример подключения из языков программирования
Рассмотрим примеры подключения и выполнения запросов из нескольких языков программирования.
PHP
Устанавливаем необходимые зависимости для PHP — пример для Ubuntu / Debian:
apt-get install php-pear php-dev
Также нам нужно установить расширение pecl — обновляем канал:
pecl channel-update pecl.php.net
И компилируем расширение:
pecl install redis
Для каждого возможного варианта использования PHP необходимо создать отдельный конфигурационной файл. В данном примере, под php 7.4 для cli, php-fpm, apache.
В системах на базе RPM (например, CentOS или Red Hat), нет разделения php на версии. Таким образом, нам нужно будет создать только один файл (как правило, в каталоге /etc/php.d).
а) CLI
vi /etc/php/7.4/cli/conf.d/20-redis.ini
extension=redis.so
б) PHP-FPM
vi /etc/php/7.4/fpm/conf.d/20-redis.ini
extension=redis.so
в) APACHE
vi /etc/php/7.4/apache/conf.d/20-redis.ini
extension=redis.so
Проверяем, что в php появился новый модуль:
php -m | grep redis
Мы должны увидеть:
redis
Создаем каталог для нашего скрипта:
mkdir /scripts
Создаем сам скрипт:
vi /scripts/test_redis.php
- <?php
- $redis = new Redis();
- $redis->connect(‘localhost’, 6379);
- $redis->auth(‘password’);
- $redis->set(«test_php_key», «test php value»);
- echo $redis->get(«test_php_key»);
- echo «\r\n»;
- ?>
* в данном скрипте мы подключаемся к нашему локальному серверу Redis, авторизовываемся и создаем ключ test_php_key со значением test php value. В конечном итоге, скрипт должен нам вернуть данное значение.
Запускаем на выполнение данный скрипт:
php /scripts/test_redis.php
Мы должны увидеть:
test php value
Python
Устанавливаем необходимое расширение:
pip3 install redis
Создаем каталог для размещения скрипта:
mkdir /scripts
Создаем сам скрипт:
vi /scripts/test_redis.py
- #!/usr/bin/env python3
- # -*- encoding: utf-8 -*-
- import redis
- r = redis.Redis(host=’localhost’, port=6379, db=0, password=’password’)
- r.set(‘test_py_key’, ‘test py value’)
- redis_get = r.get(‘test_py_key’)
- print(redis_get)
* в данном скрипте мы подключаемся к нашему локальному серверу Redis, авторизовываемся и создаем ключ test_py_key со значением test py value. В конечном итоге, скрипт должен нам вернуть данное значение.
Разрешаем запускать наш скрипт на выполнение:
chmod +x /scripts/redis.py
Запускаем скрипт:
/scripts/test_redis.py
Мы должны получить в качестве ответа:
b’test py value’
Шаг 3 – Установка PHP и настройка Nginx для использования процессора PHP
Теперь у вас есть Nginx для обслуживания ваших страниц и MySQL для хранения и управления данными, однако у вас до сих пор не установлено ПО, которое может генерировать динамический контент. Для этого требуется установить PHP.
Поскольку Nginx не поддерживает нативную обработку PHP, как некоторые другие веб-серверы, вам потребуется установить , т.е. «менеджер процессов fastCGI». Мы укажем Nginx передавать запросы PHP в это программное обеспечение для обработки.
Примечание. В зависимости от поставщика облачных услуг вам может потребоваться установить хранилище Ubuntu , которое включает бесплатное программное обеспечение и программное обеспечение с открытым исходным кодом, поддерживаемое сообществом Ubuntu, прежде чем устанавливать пакет . Для этого можно ввести следующую команду:
Установите модуль с дополнительным вспомогательным пакетом , который позволит PHP взаимодействовать с серверной частью вашей базы данных. При установке будут загружены необходимые файлы ядра PHP. Введите следующее:
Теперь у вас установлены все требуемые компоненты набора LEMP, однако вам нужно внести еще несколько изменений конфигурации, чтобы Nginx использовал процессор PHP для динамического контента.
Это изменение конфигурации выполняется уровне блока сервера (блоки сервера похожи на виртуальные хосты в Apache). Откройте новый файл конфигурации блока сервера в каталоге . В этом примере новый файл конфигурации блока сервера имеет имя , хотя вы можете использовать любое желаемое имя:
Если вам потребуется восстановить конфигурацию по умолчанию, вы можете отредактировать новый файл конфигурации блока сервера, а не изменять используемый по умолчанию файл.
Добавьте в новый файл конфигурации блока следующее содержимое, которое взято с некоторыми модификациями из файла конфигурации блока сервера по умолчанию:
/etc/nginx/sites-available/example.com
Ниже описано действие этих директив и блоков расположения:
- — определяет, что будет прослушивать порт Nginx. В данном случае он будет прослушивать порт , используемый по умолчанию для протокола HTTP.
- — определяет корневой каталог документа, где хранятся файлы, обслуживаемые сайтом.
- — задает для Nginx приоритет обслуживания файлов с именем (при наличии) при запросе файла индекса.
- — определяет, какой серверный блок должен использоваться для заданного запроса вашего сервера. Эта директива должна указывать на доменное имя или публичный IP-адрес вашего сервера.
- — первый блок расположения включает директиву , которая проверяет наличие файлов, соответствующих запросу URI. Если Nginx не сможет найти соответствующий файл, будет возвращена ошибка 404.
- — этот блок расположения отвечает за фактическую обработку PHP посредством указания Nginx на файл конфигурации и файл file, который объявляет, какой сокет ассоциирован с .
- — последний блок расположения отвечает за файлы , которые Nginx не обрабатывает. При добавлении директивы из файлов в корневой каталог документа они не будут выводиться посетителям.
После добавления этого содержания следует сохранить и закрыть файл. Для активации нового серверного блока создайте символическую ссылку от нового файла конфигурации серверного блока (в каталоге ) на каталог :
Затем уберите ссылку на файл конфигурации по умолчанию из каталога :
Примечание. Если вам потребуется восстановить конфигурацию по умолчанию, вы можете сделать это посредством воссоздания символической ссылки:
Протестируйте новый файл конфигурации на ошибки синтаксиса:
При появлении сообщений о каких-либо ошибках, вернитесь и повторно проверьте ваш файл, прежде чем продолжать.
Когда вы будете готовы, перезагрузите Nginx для внесения необходимых изменений:
Это завершает установку и настройку набора LEMP. Однако будет разумно убедиться, что все компоненты могут связываться друг с другом.