<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.webko.net.ua/index.php?action=history&amp;feed=atom&amp;title=Node.js_-_%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9</id>
	<title>Node.js - несколько приложений - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.webko.net.ua/index.php?action=history&amp;feed=atom&amp;title=Node.js_-_%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9"/>
	<link rel="alternate" type="text/html" href="https://wiki.webko.net.ua/index.php?title=Node.js_-_%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&amp;action=history"/>
	<updated>2026-05-21T11:16:15Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.webko.net.ua/index.php?title=Node.js_-_%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&amp;diff=142&amp;oldid=prev</id>
		<title>Sol: Новая страница: «Размещение нескольких приложений Node.js на одном VPS (при помощи Nginx, Forever и Crontab)   == Требовани…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.webko.net.ua/index.php?title=Node.js_-_%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&amp;diff=142&amp;oldid=prev"/>
		<updated>2015-04-21T19:49:58Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Размещение нескольких приложений Node.js на одном VPS (при помощи Nginx, Forever и Crontab)   == Требовани…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Размещение нескольких приложений Node.js на одном VPS (при помощи Nginx, Forever и Crontab)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Требования ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Чтобы следовать данному руководству, необходимо предварительно установить Nginx и Node.js. чтобы получить инструкции по установке данного ПО, читайте статьи:&lt;br /&gt;
&lt;br /&gt;
Установка [http://webko.pp.ua/wiki/index.php/Nginx_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0 Nginx;]&lt;br /&gt;
Установка [http://webko.pp.ua/wiki/index.php/Node.js Node.js.]&lt;br /&gt;
Кроме того, вместо http://[ip-адрес-vps]:[порт] лучше использовать домен, подключив к нему запущенный сервис Node.js.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Запуск приложения Node.js с помощью Forever ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forever – это простой командный инструмент, который гарантирует, что скрипт/приложение будет работать «вечно». То есть если в результате ошибки происходит сбой приложения, forever найдет способ исправить ее и перезапустит приложение.&lt;br /&gt;
&lt;br /&gt;
Установите инструмент forever глобально, это займет считанные секунды:&lt;br /&gt;
&lt;br /&gt;
 npm install forever -g&lt;br /&gt;
&lt;br /&gt;
Чтобы запустить скрипт с помощью forever, выполните следующие действия:&lt;br /&gt;
&lt;br /&gt;
перейдите к приложению Node.js:&lt;br /&gt;
 cd /path/to/your/node/app/&lt;br /&gt;
&lt;br /&gt;
и запустите файл main.js через forever:&lt;br /&gt;
 forever start --spinSleepTime 10000 main.js&lt;br /&gt;
&lt;br /&gt;
где —spinSleepTime 10000 обозначает минимальный аптайм (в миллисекундах) между запусками аварийного скрипта. Эта команда сработает практически во всех случаях.&lt;br /&gt;
&lt;br /&gt;
Теперь направьте браузер на http://[ip-адрес-vps]:[порт], чтобы увидеть приложение в действии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Подключение домена к приложению Node.js ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Теперь нужно добавить запись DNS в панель управления, чтобы подключить доменное имя к виртуальному выделенному серверу.&lt;br /&gt;
&lt;br /&gt;
Итак, выполните следующие действия:&lt;br /&gt;
&lt;br /&gt;
Войдите на сервер;&lt;br /&gt;
&lt;br /&gt;
В панели найдите раздел DNS;&lt;br /&gt;
&lt;br /&gt;
Добавьте домен, нажав кнопку ‘Add Domain, укажите нужный VPS и доменное имя;&lt;br /&gt;
&lt;br /&gt;
Скопируйте полученный Nameserver и внесите его в запись DNS в панели управления.&lt;br /&gt;
&lt;br /&gt;
''Примечание:'' эти изменения не вступят в силу моментально, поскольку обработка может занять до 24 часов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Подключение домена к сервису Nginx ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В данном разделе речь пойдет о подключении обратного прокси-серера с помощью Nginx.&lt;br /&gt;
&lt;br /&gt;
Для начала нужно при помощи наиболее удобного текстового редактора создать файл для домена в /etc/nginx/conf.d/. По соображениям совместимости файл должен быть назван доменным именем.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nginx/conf.d/example.com.conf&lt;br /&gt;
&lt;br /&gt;
Примечание: файл можно назвать как угодно, важной часть имени файла является расширение .conf.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно скопировать следующий фрагмент кода и вставить его в только что созданный файл:&lt;br /&gt;
&lt;br /&gt;
 server {&lt;br /&gt;
 listen 80;&lt;br /&gt;
 server_name your-domain.com;&lt;br /&gt;
 location / {&lt;br /&gt;
 proxy_pass http://localhost:{YOUR_PORT};&lt;br /&gt;
 proxy_http_version 1.1;&lt;br /&gt;
 proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
 proxy_set_header Connection 'upgrade';&lt;br /&gt;
 proxy_set_header Host $host;&lt;br /&gt;
 proxy_cache_bypass $http_upgrade;&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Просто замените your-domain.com своим доменным именем, а YOUR_PORT – номером порта, который прослушивает приложение Node.js.&lt;br /&gt;
&lt;br /&gt;
''Примечание:'' чтобы иметь возможность ссылаться на несколько доменов одного приложения Node.js (например, www.example.com и example.com) необходимо добавить следующий код в раздел http файла /etc/nginx/nginx.conf:&lt;br /&gt;
&lt;br /&gt;
 server_names_hash_bucket_size 64;&lt;br /&gt;
&lt;br /&gt;
Когда изменения DNS вступят в силу, направьте ​​веб-браузер на доменное имя; это должно открыть работающее в сети приложение.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Запуск приложения Node.js при перезагрузке ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Инструмент forever очень полезен при аварийных сбоях приложения; но что делать при перезагрузке сервера?&lt;br /&gt;
&lt;br /&gt;
В таком случае нужно использовать простую таблицу crontab, которая может предотвратить неожиданные простои приложения.&lt;br /&gt;
&lt;br /&gt;
Создайте файл по имени '''starter.sh''' в домашнем каталоге приложения и скопируйте в него следующий код:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 if [ $(ps -e -o uid,cmd | grep $UID | grep node | grep -v grep | wc -l | tr -s &amp;quot;\n&amp;quot;) -eq 0 ]&lt;br /&gt;
 then&lt;br /&gt;
 export PATH=/usr/local/bin:$PATH&lt;br /&gt;
 forever start --sourceDir /path/to/your/node/app main.js &amp;gt;&amp;gt; /path/to/log.txt 2&amp;gt;&amp;amp;1&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
где main.js нужно заменить именем главного скрипта приложения.&lt;br /&gt;
&lt;br /&gt;
Чтобы этот скрипт запускался при каждой перезагрузке сервера, нужно отредактировать crontab:&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
внеся в нее следующий код:&lt;br /&gt;
&lt;br /&gt;
 @reboot /path/to/starter.sh&lt;br /&gt;
&lt;br /&gt;
Затем укажите абсолютный путь к файлу '''starter.sh'''.&lt;br /&gt;
&lt;br /&gt;
''Примечание:'' перейдите в местонахождение файла starter.sh и выведите текущий каталог с помощью pwd.&lt;br /&gt;
&lt;br /&gt;
Повторите все вышеописанные действия для каждого домена и сервиса.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Node.js]]&lt;/div&gt;</summary>
		<author><name>Sol</name></author>
	</entry>
</feed>