Встановлення Nginx
Nginx — це вебсервер з широкими можливостями, створений із використанням сучасних технологій. Ним користуються найбільші компанії, такі як Google, Facebook та інші.
Перед встановленням переконайтеся, що у вас не встановлено Apache2.
Встановлення вебсервера
Встановлення дуже просте, скористайтеся такою командою:
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
Додаткову інформацію можна знайти тут.
Підключення SSL-сертифіката до Nginx
Потрібно створити або змінити конфігурацію сайту так, щоб вона виглядала так:
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 встановлено, видаліть його:
apt-get remove --purge apache2* -y
Видалення Nginx
Щоб повністю видалити Nginx із сервера, спочатку зупиніть службу:
service nginx stop
Потім виконайте таку команду, щоб безповоротно його видалити:
apt-get remove --purge nginx*








