Nginx - это прокси сервер. Он в 10 раз шустрее Apache, но ему для обработки php скриптов нужен php-fpm
Так же он не воспринимает .htaccess файл, но не пугайтесь, большинство их настроек можно легко сделать в конфиге.
Обновляем линукс и устанавливаем Nginx
sudo apt update
sudo apt full-upgrade
sudo apt install -y nginx
Проверяем версию Nginx:
nginx -v
Запуск Nginx:
sudo systemctl start nginx
Добавляем nginx в автозагрузку:
sudo systemctl enable nginx
Проверка статуса Nginx (должен гореть зеленым)
sudo systemctl status nginx
Установка php и php-fpm
Подключаемся к репозиторию
sudo add-apt-repository ppa:ondrej/php
sudo apt install -y language-pack-en-base
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt update
Устанавливаем PHP версии 8
sudo apt install -y php8.0
sudo apt install -y php8.0-fpm php8.0-opcache php8.0-zip php8.0-xmlrpc php8.0-xsl php8.0-mbstring php8.0-mcrypt php8.0-mysql php8.0-odbc php8.0-pgsql php8.0-pspell php8.0-readline php8.0-snmp php8.0-soap php8.0-sqlite3 php8.0-sybase php8.0-tidy php8.0-xml php8.0-ldap php8.0-intl php8.0-interbase php8.0-imap php8.0-memcached php8.0-curl php8.0-gmp php8.0-gd php8.0-enchant php8.0-dba php8.0-bz2 php8.0-bcmath php8.0-phpdbg php8.0-cgi php8.0-cli unzip
Настроим конфиг php.ini
sudo nano /etc/php/8.0/fpm/php.ini
И находим нужные поля и меняем к такому виду:
cgi.fix_pathinfo = 0
post_max_size = 100M
max_execution_time = 300
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=64
opcache.interned_strings_buffer=4
opcache.max_accelerated_files=7963
opcache.revalidate_freq=20
Установим MariaDB
sudo apt-get install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.mephi.ru/mariadb/repo/10.4/ubuntu focal main'
sudo apt update
sudo apt -y install mariadb-server mariadb-client
Удалим Apache:
sudo apt-get purge apache2 apache2-utils apache2.2-bin
sudo apt-get autoremove
sudo rm -rf /etc/apache2
sudo rm -rf /usr/sbin/apache2
sudo rm -rf /usr/lib/apache2
sudo rm -rf /usr/share/man/man8/apache2.8.gz
Настройка хостов:
В домашней папке сделаем папку www и в ней папку logs, также создадим свой хост yeticave.ru (имя вашего хоста может быть любым)
Для удобства я приложу ссылку на текстовый файл, где вы должны просто поменять названия и пути к папке yeticave.ru на свою хост.