Замовляйте VPS-сервер зі скидкою 20%
Акція завершиться через
00Днів
:
00Годин
:
00Хвилин
:
00Секунд

Nginx - веб-сервер високої продуктивності з широким спектром можливостей, розроблений відповідно до останніх стандартів технологій. Його використовують великі корпорації, такі як VKontakte, Google, Facebook та інші.


Перш ніж розпочати інсталяцію, переконайтеся, що Apache2 вже не встановлено на вашій системі.


Встановлення веб-сервера


Встановлення Nginx дуже просте. Використовуйте наступну команду:

apt-get install nginx -y


Налаштування Nginx


Вам потрібно перейти до каталогу /etc/nginx/sites-available та створити файл типу "site.conf". Вставте наступну конфігурацію та внесіть необхідні зміни:

server {
    listen       *:80;
    server_name  spacecore.pro; # Домен вашого сайту
    client_max_body_size 1000M; # Максимальний розмір файлу, який дозволено завантажувати на сайт
    error_page 404 = @notfound;
    location / {
        root   /home/site/spacecore; # Шлях до вашого сайту
        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/spacecore; # Шлях до вашого сайту
        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


PHP не є обов'язковим для роботи з Nginx. Ця примітка актуальна лише для тих, чиїй сайт використовує PHP.


Підключення SSL-сертифіката до Nginx


Інтеграція SSL є необов'язковою і повинна здійснюватися лише за наявності SSL-сертифікатів і за бажанням. Змініть або створіть конфігурацію сайту наступним чином:

server {
    listen 80;
    server_name spacecore.pro; # Домен вашого сайту
    return 301 https://$server_name$request_uri; # Перенаправлення з HTTP на HTTPS
}

server {
    listen 443 ssl http2;
    server_name spacecore.pro; # Домен вашого сайту

    root /var/www/spacecore; # Шлях до вашого сайту
    index index.html index.htm index.php; # Сторінки індексу

    access_log /var/log/nginx/spacecore.app-access.log; # Логи успішних підключень
    error_log  /var/log/nginx/spacecore.app-error.log error; # Логи помилкових підключень

    # Якщо потрібно щось вимкнути, замість шляху до файлу вкажіть "off"

    client_max_body_size 1000m; # Максимальний розмір файлу, який дозволено завантажувати на сайт
    client_body_timeout 120s; # Значення тайм-ауту

    sendfile off; # Після активації Nginx надсилатиме HTTP-відповіді разом, а не окремими частинами

    # Налаштування SSL
    ssl_certificate /etc/letsencrypt/live/spacecore.pro/fullchain.pem; # Публічний ключ сертифіката
    ssl_certificate_key /etc/letsencrypt/live/spacecore.pro/privkey.pem; # Приватний ключ сертифіката
    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/spacecore; # Шлях до вашого сайту
        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


Потім виконайте команду для остаточного видалення:

apt-get remove --purge nginx*