Установка Nginx для Node.js
До начала установки нам необходимо выбрать директорию, в которой у нас будут находиться сайты. У меня это:
cd /var/www
В этой директории я буду размещать свой сайт в поддиректории
cd /var/www/pletnevd.com
Пока положил туда индексную страницу index.html с текстом <h1>loading...</h1>
Далее устанавливаем nginx
sudo apt install nginx
Дождемся окончания установки, а после добавим программу в автозагрузку:
sudo systemctl enable nginx
sudo service nginx status // проверим запущен ли nginx
sudo systemctl is-enabled nginx//проверим его наличие в автозагрузке
Базовые команды:
Запуск sudo systemctl start nginx
Отключение sudo systemctl stop nginx
Перезапуск sudo systemctl restart nginx
Перезагрузка sudo systemctl reload nginx
Проверка состояния службыsudo systemctl status nginx
Тестирование конфигурации sudo nginx -t
Открываем необходимые порты в Uncomplicated Firewall (UFW)
Подробнее об этом я написал здесь
Администрирование веб-сервера nginx
Администрирование веб-сервера представляет из себя изменение и поддержку конфигурационных файлов. Среди них 1 файл конфигурации и 2 каталога. Это nginx.conf, sites-available и sites-enabled соответственно. Все они лежат в директории /etc/nginx
Удобно менять эти файлы на локальной машине и закачивать их на сервер.
Файл nginx.conf — это главный конфигурационный файл. Каталог sites-available содержит файлы конфигураций виртуальных хостов. Каждый отдельный файл хранит информацию об определенном сайте. Это его имя, IP-адрес и другие данные. Каталог sites-enabled, в свою очередь, состоит только из конфигураций активных сайтов. Только из директории sites-enabled читаются файлы конфигурации для виртуальных хостов. Также в ней хранятся ссылки на sites-available. Такая структура позволяет временно отключать сайты без потери их конфигураций.
Для настройки ssl вам понадобится ssl сертификат, его можно легко приобрести для своего домена здесь.
Из этого сертификата формируем файлы domen.crt, domen.key Объедините сертификат и корневой сертификат в один файл
domen.crt
Копируем файл для ключа Private Key в
domen.key
После изменения всех файлов, их необходимо закачать на сервер в папку /etc/nginx
После создания виртуального хоста проведем тестирование конфигурации:
sudo nginx -t
Отключим сайт по умолчанию, удалив запись о дефолтном виртуальном хосте:
sudo rm /etc/nginx/sites-enabled/default
Перезагружаем веб-сервер:
sudo systemctl restart nginx
И вуаля, наш сайт работает:
Следующим шагом мы развернем на нашем сервере node.js сервер