Встановлення та базове налаштування nginx в Debian
завантажимо і додамо ключ з http://nginx.org/ru/linux_packages.html#stable
wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
sudo vim /etc/apt/sources.list
додамо наступні строки
deb http://nginx.org/packages/debian/ stretch nginx
deb-src http://nginx.org/packages/debian/ stretch nginx
далі
sudo apt-get update
sudo apt-get install nginx
базові налаштування
sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled
далі в директорію /etc/nginx/sites-available потрібно зберегти конфіг для сайту
приклад конфігу для n2o-додатку можна знайти тут
https://github.com/221V/ublog/blob/master/nginx_conf.txt
upd. debian 12 nginx 1.26.2-1~bookworm
# зміни - замість
server{
listen website.com ssl http2;
# or
listen 443 ssl http2;
...
->
# пишемо
server{
listen website.com ssl;
# or
listen 443 ssl;
# and
http2 on;
...
включимо віртуальні хости
vim /etc/nginx/nginx.conf
додамо наступну строчку після існуючої в файлі include
include /etc/nginx/sites-enabled/*;
після цього включимо даний конфіг та перезапустимо nginx щоб застосувати зміни
sudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/
sudo service nginx stop
sudo service nginx start
у випадку помилки в конфігу nginx не запуститься
знайти підказку про строчку з помилкою ми можемо за допомогою команди
sudo nginx -t
версію nginx можна глянути так
nginx -v
також не забудемо створити директорію для видачі статики
sudo mkdir /var/www
sudo mkdir /var/www/site1
sudo mkdir /var/www/site1/stc
sudo mkdir /var/www/site1/stc/js
sudo mkdir /var/www/site1/stc/css
sudo mkdir /var/www/site1/stc/img
sudo chown -R erlang:erlang /var/www
також для сайту необхідно згенерувати сертифікати шифрування https
у нашому випадку від letsencrypt, про це читайте далі
upd. про сертифікат з автоматизацією