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

Встановлення Nginx

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

 
 

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

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

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 не є обов'язковим; його можна налаштувати, якщо у вас є сертифікат і ви хочете його використовувати.

Потрібно створити або змінити конфігурацію сайту так, щоб вона виглядала так:

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*