🌴Установка Nginx

Nginx - ПО веб-сервера для динамической обработки запросов пользователей, являющийся лидером своей ниши и использующийся крупнешйими IT компаниями ВКонтакте, Google, Facebook и другими.

Установка Nginx

Пропишем команду установки Nginx:

apt-get install nginx -y

Настройка Nginx

Переходим в sFTP по адресу /etc/nginx/sites-available и создаем файл server_name.conf (имя может быть любым), содержащий следующий текст с вашими данными:

server_name.conf
server {
    listen       *:80;
    server_name  sclad.team; # домен сайта
    client_max_body_size 1000M; # максимальный размер файла, переданного через сайт
    error_page 404 = @notfound;
    location / {
        root   /home/site/sclad; # путь до сайта
        try_files $uri $uri.html $uri/ @extensionless-php;
        index  index.html index.php;
    }
    # Подключения PHP, если не нужен, то стираем с 13 по 21 строку
    location ~ \.(php|html|htm)$ {
        try_files $uri =404;
        root   /home/site/sclad; # путь до сайта
        fastcgi_pass unix:/run/php/php7.0-fpm.sock; # путь до php 
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        include /etc/nginx/fastcgi_params;
    }
}

Перезагружаем Nginx:

service nginx restart

Подключение PHP к Nginx

PHP не обязателен для работы с Nginx. Используйте эту часть лишь для сайтов, требующих выполнения PHP скриптов.

Запустим поочередно следующие команды:

wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list
sudo apt-get -y install php7.4 php7.4-{mcrypt,mysql,fpm}

Перезагружаем Nginx:

service nginx restart

Включение SSL (протокол шифрования)

Является не обязательным пунктом, повышающим доверие к вашему сайту

Изменяем, созданный ранее, конфиг, приводя его к следующему виду:

server {
    listen 80;
    server_name sclad.team; # домен сайта
    return 301 https://$server_name$request_uri; # редирект с http на https
}

server {
    listen 443 ssl http2;
    server_name sclad.team; # домен сайта

    root /var/www/sclad; # путь до сайта
    index index.html index.htm index.php; # индексные страницы

    access_log /var/log/nginx/aeza.app-access.log; # логи успешных подключений
    error_log  /var/log/nginx/aeza.app-error.log error; # логи ошибочных подключений

    # если требуется что-то отключить, вместо пути до файла пишем «off»

    client_max_body_size 1000m; # максимальный размер файла, переданного через сайт
    client_body_timeout 120s; # значение тайм-аута

    sendfile off; # после включения Nginx будет отправлять заголовки HTTP-ответов одним пакетом, а не отдельными частями.

    # SSL Configuration
    ssl_certificate /etc/letsencrypt/live/sclad.team/fullchain.pem; # публичный ключ SSL сертификата
    ssl_certificate_key /etc/letsencrypt/live/sclad.team/privkey.pem; # приватный ключ SSL сертификата
    ssl_session_cache shared:SSL:10m; # объем кеша сессий SSL
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
    ssl_prefer_server_ciphers on; # уменьшает время загрузки страниц сайта

    location ~ \.(php|html|htm)$ {
try_files $uri =404;
root /var/www/sclad; # путь до сайта
fastcgi_pass unix:/run/php/php7.2-fpm.sock; # путь до php файла
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
    }
}

Перезагружаем Nginx:

service nginx restart

Проверка на Apache2

При использовании Nginx с Apache2, они не смогут корректно работать, конфликтуя за порт - 80. Поэтому важно удалить одно из ПО веб-сервера.

Проверим наличие Apache2:

service apache2 status

Если вы не увидите большое сообщение с информацией, значит Apache2 не уставновлен.

Для удаления Apache2 пропишем:

apt-get remove --purge apache2* -y

Удаление Nginx

Для удаления Nginx пропишем пропишем команду его остановки:

service nginx stop

И далее команду для полного удаления Nginx:

apt-get remove --purge nginx*

Last updated