Связка веб сервера и потребности
Подробнее о процессе установки:
https://dnevnik.dev/2020/12/23/ustanovka-nginx-mysql-8-php8-0-fpm-na-ubuntu-20-04-s-nulya/
Mysql ставим отсюда
https://itlocate.ru/blog/linux/ustanovka-mysql-8-v-ubuntu-22-04.html
Для связи с базами данных необходимо поставить пакеты
sudo apt install php-mysql
Связки
Подключение - SSH + FTP (Уже реализовано)
Бекап - пока нет решения.
Отслеживание - Есть решение но не тестил.
PHP: php-fpm + memcashed + opcache
Моя планируемая связка nginx + php-fpm + opcache + memcashed(Элемент php)
Сравнение связок
https://www.olegpro.ru/post/sravnenie_skorosti_apache__mod_php_i_nginx__php_fpm.html?ysclid=lissnvnkm057834753
Настройки: https://dnevnik.dev/2022/07/11/ustanovka-nginx-mysql-8-php8-1-fpm-na-ubuntu-22-04-lts-s-nulya/?ysclid=liur5kvbyz502056501
Как работает PHP
PHP открывает файл с кодом, компилирует его, затем выполняет. Поскольку файлов может быть много, процесс их открытия, чтения и компиляции может отнимать кучу времени и ресурсов. Если файлы не меняются, то постоянную компиляцию можно не делать. Лучше сделать ее один раз и закэшировать результат.
Именно это и делает модуль opCache. Результат первой компиляции будет сохранен в кэш, с которым и будет работать PHP. Таким образом это ускорит выполнение за счет отсутствия тяжелого процесса компиляции. Когда файлы изменяются, модуль сам сбросит кэш и обеспечит перекомпиляцию. Короче, этот модуль делает очень полезную экономию ресурсов даже без необходимости его как-то настраивать. Чем сложнее приложение, тем выше эффективность этой оптимизации.
Часто код просто медленный
Например, обращения к внешним API, тяжелые выборки из баз данных, обработка больших файлов может занимать продолжительное время. В этом случае, кэширование данных следует использовать, как средство оптимизации и в этом вам поможет memcached, который поможет сохранить часто получаемые результаты. Например сложная выборка из БД, которая пригодится многим пользователям, но очень сильно напрягает базу данных, хотя почти для всех одинакова с минимальными отличиями. Memcached спроектирован так, чтобы все его операции имели алгоритмическую сложность O(1), т.е. время выполнения любой операции не зависит от количества ключей, которые хранит memcached. Естественно, нужно учитывать, что архитектура предполагает потерю данных в случае сбоя.
https://dnevnik.dev/2020/12/23/ustanovka-nginx-mysql-8-php8-0-fpm-na-ubuntu-20-04-s-nulya/



