Установка и настройка Node.js и npm — различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Установка и настройка Node.js и npm = == 1. Подготовка системы == * Войдите в систему под учетно…»)
 
 
Строка 6: Строка 6:
 
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
 
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
  
== 2. Установка Node.js ===
+
== 2. Установка Node.js ==
  
 
=== Обновление системы ===
 
=== Обновление системы ===
  
 
1. Обновите систему:
 
1. Обновите систему:
<code>sudo apt update</code>
+
<pre>sudo apt update</pre>
  
 
2. Установите необходимые пакеты:
 
2. Установите необходимые пакеты:
<code>sudo apt install -y curl wget gnupg2 software-properties-common</code>
+
<pre>sudo apt install -y curl wget gnupg2 software-properties-common</pre>
  
 
=== Установка Node.js через NodeSource ===
 
=== Установка Node.js через NodeSource ===
  
 
1. Добавьте репозиторий NodeSource:
 
1. Добавьте репозиторий NodeSource:
<code>curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -</code>
+
<pre>curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -</pre>
  
 
2. Установите Node.js:
 
2. Установите Node.js:
<code>sudo apt install -y nodejs</code>
+
<pre>sudo apt install -y nodejs</pre>
  
 
3. Проверьте версии:
 
3. Проверьте версии:
<code>node --version</code>
+
<pre>node --version</pre>
<code>npm --version</code>
+
<pre>npm --version</pre>
  
 
=== Альтернативная установка через snap ===
 
=== Альтернативная установка через snap ===
  
 
1. Установите snap:
 
1. Установите snap:
<code>sudo apt install -y snapd</code>
+
<pre>sudo apt install -y snapd</pre>
  
 
2. Установите Node.js через snap:
 
2. Установите Node.js через snap:
<code>sudo snap install node --classic</code>
+
<pre>sudo snap install node --classic</pre>
  
 
=== Установка через NVM (Node Version Manager) ===
 
=== Установка через NVM (Node Version Manager) ===
  
 
1. Скачайте и установите NVM:
 
1. Скачайте и установите NVM:
<code>curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash</code>
+
<pre>curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash</pre>
  
 
2. Перезагрузите терминал или выполните:
 
2. Перезагрузите терминал или выполните:
<code>source ~/.bashrc</code>
+
<pre>source ~/.bashrc</pre>
  
 
3. Установите последнюю версию Node.js:
 
3. Установите последнюю версию Node.js:
<code>nvm install node</code>
+
<pre>nvm install node</pre>
  
 
4. Используйте установленную версию:
 
4. Используйте установленную версию:
<code>nvm use node</code>
+
<pre>nvm use node</pre>
  
 
5. Установите LTS версию:
 
5. Установите LTS версию:
<code>nvm install --lts</code>
+
<pre>nvm install --lts</pre>
<code>nvm use --lts</code>
+
<pre>nvm use --lts</pre>
  
== 3. Настройка npm ===
+
== 3. Настройка npm ==
  
 
=== Обновление npm ===
 
=== Обновление npm ===
  
 
1. Обновите npm до последней версии:
 
1. Обновите npm до последней версии:
<code>sudo npm install -g npm@latest</code>
+
<pre>sudo npm install -g npm@latest</pre>
  
 
2. Проверьте версию:
 
2. Проверьте версию:
<code>npm --version</code>
+
<pre>npm --version</pre>
  
 
=== Настройка npm конфигурации ===
 
=== Настройка npm конфигурации ===
  
 
1. Настройте глобальную директорию для пакетов:
 
1. Настройте глобальную директорию для пакетов:
<code>mkdir ~/.npm-global</code>
+
<pre>mkdir ~/.npm-global</pre>
<code>npm config set prefix '~/.npm-global'</code>
+
<pre>npm config set prefix '~/.npm-global'</pre>
  
 
2. Добавьте путь в .bashrc:
 
2. Добавьте путь в .bashrc:
<code>echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc</code>
+
<pre>echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc</pre>
<code>source ~/.bashrc</code>
+
<pre>source ~/.bashrc</pre>
  
 
=== Настройка npm реестра ===
 
=== Настройка npm реестра ===
  
 
1. Установите альтернативный реестр (например, Yarn):
 
1. Установите альтернативный реестр (например, Yarn):
<code>npm install -g yarn</code>
+
<pre>npm install -g yarn</pre>
  
 
2. Настройте реестр:
 
2. Настройте реестр:
<code>npm config set registry https://registry.npmjs.org/</code>
+
<pre>npm config set registry https://registry.npmjs.org/</pre>
  
 
3. Проверьте конфигурацию:
 
3. Проверьте конфигурацию:
<code>npm config list</code>
+
<pre>npm config list</pre>
  
== 4. Управление пакетами ===
+
== 4. Управление пакетами ==
  
 
=== Глобальная установка пакетов ===
 
=== Глобальная установка пакетов ===
  
 
1. '''Установка популярных пакетов''':
 
1. '''Установка популярных пакетов''':
<code>sudo npm install -g express-generator</code>
+
<pre>sudo npm install -g express-generator</pre>
<code>sudo npm install -g nodemon</code>
+
<pre>sudo npm install -g nodemon</pre>
<code>sudo npm install -g pm2</code>
+
<pre>sudo npm install -g pm2</pre>
<code>sudo npm install -g typescript</code>
+
<pre>sudo npm install -g typescript</pre>
<code>sudo npm install -g @angular/cli</code>
+
<pre>sudo npm install -g @angular/cli</pre>
  
 
2. '''Просмотр глобальных пакетов''':
 
2. '''Просмотр глобальных пакетов''':
<code>npm list -g --depth=0</code>
+
<pre>npm list -g --depth=0</pre>
  
 
3. '''Удаление глобальных пакетов''':
 
3. '''Удаление глобальных пакетов''':
<code>sudo npm uninstall -g package_name</code>
+
<pre>sudo npm uninstall -g package_name</pre>
  
 
=== Локальная установка пакетов ===
 
=== Локальная установка пакетов ===
  
 
1. '''Инициализация проекта''':
 
1. '''Инициализация проекта''':
<code>mkdir my-project</code>
+
<pre>mkdir my-project</pre>
<code>cd my-project</code>
+
<pre>cd my-project</pre>
<code>npm init</code>
+
<pre>npm init</pre>
  
 
2. '''Установка зависимостей''':
 
2. '''Установка зависимостей''':
<code>npm install express</code>
+
<pre>npm install express</pre>
<code>npm install --save-dev nodemon</code>
+
<pre>npm install --save-dev nodemon</pre>
  
 
3. '''Установка из package.json''':
 
3. '''Установка из package.json''':
<code>npm install</code>
+
<pre>npm install</pre>
  
 
=== Управление зависимостями ===
 
=== Управление зависимостями ===
  
 
1. '''Просмотр установленных пакетов''':
 
1. '''Просмотр установленных пакетов''':
<code>npm list</code>
+
<pre>npm list</pre>
  
 
2. '''Проверка устаревших пакетов''':
 
2. '''Проверка устаревших пакетов''':
<code>npm outdated</code>
+
<pre>npm outdated</pre>
  
 
3. '''Обновление пакетов''':
 
3. '''Обновление пакетов''':
<code>npm update</code>
+
<pre>npm update</pre>
  
 
4. '''Аудит безопасности''':
 
4. '''Аудит безопасности''':
<code>npm audit</code>
+
<pre>npm audit</pre>
<code>npm audit fix</code>
+
<pre>npm audit fix</pre>
  
== 5. Создание Node.js приложения ===
+
== 5. Создание Node.js приложения ==
  
 
=== Простое веб-приложение ===
 
=== Простое веб-приложение ===
  
 
1. Создайте файл app.js:
 
1. Создайте файл app.js:
<code>nano app.js</code>
+
<pre>nano app.js</pre>
  
 
2. Добавьте код:
 
2. Добавьте код:
<code>const express = require('express');
+
<pre>const express = require('express');
 
const app = express();
 
const app = express();
 
const port = 3000;
 
const port = 3000;
Строка 150: Строка 150:
 
     console.log(`Server running at http://localhost:${port}`);
 
     console.log(`Server running at http://localhost:${port}`);
 
});
 
});
</code>
+
</pre>
  
 
3. Установите Express:
 
3. Установите Express:
<code>npm install express</code>
+
<pre>npm install express</pre>
  
 
4. Запустите приложение:
 
4. Запустите приложение:
<code>node app.js</code>
+
<pre>node app.js</pre>
  
 
=== Создание API сервера ===
 
=== Создание API сервера ===
  
 
1. Создайте файл server.js:
 
1. Создайте файл server.js:
<code>nano server.js</code>
+
<pre>nano server.js</pre>
  
 
2. Добавьте код:
 
2. Добавьте код:
<code>const express = require('express');
+
<pre>const express = require('express');
 
const cors = require('cors');
 
const cors = require('cors');
 
const app = express();
 
const app = express();
Строка 189: Строка 189:
 
     console.log(`API server running at http://localhost:${port}`);
 
     console.log(`API server running at http://localhost:${port}`);
 
});
 
});
</code>
+
</pre>
  
 
3. Установите зависимости:
 
3. Установите зависимости:
<code>npm install express cors</code>
+
<pre>npm install express cors</pre>
  
== 6. Управление процессами ===
+
== 6. Управление процессами ==
  
 
=== Использование PM2 ===
 
=== Использование PM2 ===
  
 
1. Установите PM2:
 
1. Установите PM2:
<code>sudo npm install -g pm2</code>
+
<pre>sudo npm install -g pm2</pre>
  
 
2. Запустите приложение через PM2:
 
2. Запустите приложение через PM2:
<code>pm2 start app.js --name "my-app"</code>
+
<pre>pm2 start app.js --name "my-app"</pre>
  
 
3. Просмотр процессов:
 
3. Просмотр процессов:
<code>pm2 list</code>
+
<pre>pm2 list</pre>
  
 
4. Остановка процесса:
 
4. Остановка процесса:
<code>pm2 stop my-app</code>
+
<pre>pm2 stop my-app</pre>
  
 
5. Перезапуск процесса:
 
5. Перезапуск процесса:
<code>pm2 restart my-app</code>
+
<pre>pm2 restart my-app</pre>
  
 
6. Удаление процесса:
 
6. Удаление процесса:
<code>pm2 delete my-app</code>
+
<pre>pm2 delete my-app</pre>
  
 
=== Настройка автозапуска PM2 ===
 
=== Настройка автозапуска PM2 ===
  
 
1. Сохраните текущие процессы:
 
1. Сохраните текущие процессы:
<code>pm2 save</code>
+
<pre>pm2 save</pre>
  
 
2. Настройте автозапуск:
 
2. Настройте автозапуск:
<code>pm2 startup</code>
+
<pre>pm2 startup</pre>
  
 
3. Следуйте инструкциям для настройки systemd
 
3. Следуйте инструкциям для настройки systemd
Строка 229: Строка 229:
  
 
1. Просмотр логов:
 
1. Просмотр логов:
<code>pm2 logs</code>
+
<pre>pm2 logs</pre>
<code>pm2 logs my-app</code>
+
<pre>pm2 logs my-app</pre>
  
 
2. Мониторинг в реальном времени:
 
2. Мониторинг в реальном времени:
<code>pm2 monit</code>
+
<pre>pm2 monit</pre>
  
 
3. Перезагрузка без простоя:
 
3. Перезагрузка без простоя:
<code>pm2 reload my-app</code>
+
<pre>pm2 reload my-app</pre>
  
== 7. Настройка веб-сервера ===
+
== 7. Настройка веб-сервера ==
  
 
=== Настройка Nginx для Node.js ===
 
=== Настройка Nginx для Node.js ===
  
 
1. Установите Nginx:
 
1. Установите Nginx:
<code>sudo apt install -y nginx</code>
+
<pre>sudo apt install -y nginx</pre>
  
 
2. Создайте конфигурацию:
 
2. Создайте конфигурацию:
<code>sudo nano /etc/nginx/sites-available/nodejs</code>
+
<pre>sudo nano /etc/nginx/sites-available/nodejs</pre>
  
 
3. Добавьте конфигурацию:
 
3. Добавьте конфигурацию:
<code>server {
+
<pre>server {
 
     listen 80;
 
     listen 80;
 
     server_name your-domain.com;
 
     server_name your-domain.com;
Строка 265: Строка 265:
 
     }
 
     }
 
}
 
}
</code>
+
</pre>
  
 
4. Включите сайт:
 
4. Включите сайт:
<code>sudo ln -s /etc/nginx/sites-available/nodejs /etc/nginx/sites-enabled/</code>
+
<pre>sudo ln -s /etc/nginx/sites-available/nodejs /etc/nginx/sites-enabled/</pre>
  
 
5. Проверьте конфигурацию:
 
5. Проверьте конфигурацию:
<code>sudo nginx -t</code>
+
<pre>sudo nginx -t</pre>
  
 
6. Перезапустите Nginx:
 
6. Перезапустите Nginx:
<code>sudo systemctl restart nginx</code>
+
<pre>sudo systemctl restart nginx</pre>
  
 
=== Настройка Apache для Node.js ===
 
=== Настройка Apache для Node.js ===
  
 
1. Установите Apache:
 
1. Установите Apache:
<code>sudo apt install -y apache2</code>
+
<pre>sudo apt install -y apache2</pre>
  
 
2. Включите необходимые модули:
 
2. Включите необходимые модули:
<code>sudo a2enmod proxy</code>
+
<pre>sudo a2enmod proxy</pre>
<code>sudo a2enmod proxy_http</code>
+
<pre>sudo a2enmod proxy_http</pre>
  
 
3. Создайте конфигурацию:
 
3. Создайте конфигурацию:
<code>sudo nano /etc/apache2/sites-available/nodejs.conf</code>
+
<pre>sudo nano /etc/apache2/sites-available/nodejs.conf</pre>
  
 
4. Добавьте конфигурацию:
 
4. Добавьте конфигурацию:
<code><VirtualHost *:80>
+
<pre><VirtualHost *:80>
 
     ServerName your-domain.com
 
     ServerName your-domain.com
 
      
 
      
Строка 296: Строка 296:
 
     ProxyPassReverse / http://localhost:3000/
 
     ProxyPassReverse / http://localhost:3000/
 
</VirtualHost>
 
</VirtualHost>
</code>
+
</pre>
  
 
5. Включите сайт:
 
5. Включите сайт:
<code>sudo a2ensite nodejs</code>
+
<pre>sudo a2ensite nodejs</pre>
  
 
6. Перезапустите Apache:
 
6. Перезапустите Apache:
<code>sudo systemctl restart apache2</code>
+
<pre>sudo systemctl restart apache2</pre>
  
== 8. Настройка SSL ===
+
== 8. Настройка SSL ==
  
 
=== Установка Certbot ===
 
=== Установка Certbot ===
  
 
1. Установите Certbot:
 
1. Установите Certbot:
<code>sudo apt install -y certbot python3-certbot-nginx</code>
+
<pre>sudo apt install -y certbot python3-certbot-nginx</pre>
  
 
2. Получите SSL сертификат:
 
2. Получите SSL сертификат:
<code>sudo certbot --nginx -d your-domain.com</code>
+
<pre>sudo certbot --nginx -d your-domain.com</pre>
  
 
3. Настройте автоматическое обновление:
 
3. Настройте автоматическое обновление:
<code>sudo crontab -e</code>
+
<pre>sudo crontab -e</pre>
  
 
4. Добавьте задачу:
 
4. Добавьте задачу:
<code>0 12 * * * /usr/bin/certbot renew --quiet</code>
+
<pre>0 12 * * * /usr/bin/certbot renew --quiet</pre>
  
 
=== Настройка HTTPS в Node.js ===
 
=== Настройка HTTPS в Node.js ===
  
 
1. Установите https модуль:
 
1. Установите https модуль:
<code>npm install https</code>
+
<pre>npm install https</pre>
  
 
2. Создайте HTTPS сервер:
 
2. Создайте HTTPS сервер:
<code>const https = require('https');
+
<pre>const https = require('https');
 
const fs = require('fs');
 
const fs = require('fs');
 
const express = require('express');
 
const express = require('express');
Строка 340: Строка 340:
 
     console.log('HTTPS server running on port 443');
 
     console.log('HTTPS server running on port 443');
 
});
 
});
</code>
+
</pre>
  
== 9. Тестирование и отладка ===
+
== 9. Тестирование и отладка ==
  
 
=== Использование nodemon ===
 
=== Использование nodemon ===
  
 
1. Установите nodemon:
 
1. Установите nodemon:
<code>sudo npm install -g nodemon</code>
+
<pre>sudo npm install -g nodemon</pre>
  
 
2. Запустите приложение с автоперезагрузкой:
 
2. Запустите приложение с автоперезагрузкой:
<code>nodemon app.js</code>
+
<pre>nodemon app.js</pre>
  
 
3. Настройте nodemon.json:
 
3. Настройте nodemon.json:
<code>nano nodemon.json</code>
+
<pre>nano nodemon.json</pre>
  
 
4. Добавьте конфигурацию:
 
4. Добавьте конфигурацию:
<code>{
+
<pre>{
 
     "watch": ["src"],
 
     "watch": ["src"],
 
     "ext": "js,json",
 
     "ext": "js,json",
Строка 362: Строка 362:
 
     "exec": "node src/index.js"
 
     "exec": "node src/index.js"
 
}
 
}
</code>
+
</pre>
  
 
=== Отладка с помощью debugger ===
 
=== Отладка с помощью debugger ===
  
 
1. Запустите приложение в режиме отладки:
 
1. Запустите приложение в режиме отладки:
<code>node --inspect app.js</code>
+
<pre>node --inspect app.js</pre>
  
 
2. Откройте Chrome DevTools:
 
2. Откройте Chrome DevTools:
<code>chrome://inspect</code>
+
<pre>chrome://inspect</pre>
  
 
3. Используйте console.log для отладки:
 
3. Используйте console.log для отладки:
<code>console.log('Debug info:', variable);</code>
+
<pre>console.log('Debug info:', variable);</pre>
  
== 10. Управление версиями Node.js ===
+
== 10. Управление версиями Node.js ==
  
 
=== Использование NVM ===
 
=== Использование NVM ===
  
 
1. '''Установка конкретной версии''':
 
1. '''Установка конкретной версии''':
<code>nvm install 16.20.0</code>
+
<pre>nvm install 16.20.0</pre>
<code>nvm use 16.20.0</code>
+
<pre>nvm use 16.20.0</pre>
  
 
2. '''Установка LTS версии''':
 
2. '''Установка LTS версии''':
<code>nvm install --lts</code>
+
<pre>nvm install --lts</pre>
<code>nvm use --lts</code>
+
<pre>nvm use --lts</pre>
  
 
3. '''Просмотр установленных версий''':
 
3. '''Просмотр установленных версий''':
<code>nvm list</code>
+
<pre>nvm list</pre>
  
 
4. '''Установка версии по умолчанию''':
 
4. '''Установка версии по умолчанию''':
<code>nvm alias default 18.17.0</code>
+
<pre>nvm alias default 18.17.0</pre>
  
 
=== Обновление Node.js ===
 
=== Обновление Node.js ===
  
 
1. '''Обновление через NVM''':
 
1. '''Обновление через NVM''':
<code>nvm install node</code>
+
<pre>nvm install node</pre>
<code>nvm use node</code>
+
<pre>nvm use node</pre>
  
 
2. '''Обновление через apt''':
 
2. '''Обновление через apt''':
<code>curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -</code>
+
<pre>curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -</pre>
<code>sudo apt install -y nodejs</code>
+
<pre>sudo apt install -y nodejs</pre>
  
== 11. Устранение неполадок ===
+
== 11. Устранение неполадок ==
  
 
=== Частые проблемы ===
 
=== Частые проблемы ===
Строка 418: Строка 418:
  
 
3. '''Проблемы с зависимостями''':
 
3. '''Проблемы с зависимостями''':
* Очистите npm кэш: <code>npm cache clean --force</code>
+
* Очистите npm кэш: <pre>npm cache clean --force</pre>
* Удалите node_modules: <code>rm -rf node_modules</code>
+
* Удалите node_modules: <pre>rm -rf node_modules</pre>
* Переустановите зависимости: <code>npm install</code>
+
* Переустановите зависимости: <pre>npm install</pre>
  
 
=== Диагностика ===
 
=== Диагностика ===
  
 
1. '''Проверка версий''':
 
1. '''Проверка версий''':
<code>node --version</code>
+
<pre>node --version</pre>
<code>npm --version</code>
+
<pre>npm --version</pre>
  
 
2. '''Проверка путей''':
 
2. '''Проверка путей''':
<code>which node</code>
+
<pre>which node</pre>
<code>which npm</code>
+
<pre>which npm</pre>
  
 
3. '''Проверка конфигурации''':
 
3. '''Проверка конфигурации''':
<code>npm config list</code>
+
<pre>npm config list</pre>
  
 
4. '''Проверка глобальных пакетов''':
 
4. '''Проверка глобальных пакетов''':
<code>npm list -g --depth=0</code>
+
<pre>npm list -g --depth=0</pre>
  
 
== Заключение ==
 
== Заключение ==

Текущая версия на 10:44, 15 октября 2025

Содержание

Установка и настройка Node.js и npm

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что у вас есть доступ к серверу через SSH или консоль.

2. Установка Node.js

Обновление системы

1. Обновите систему:

sudo apt update

2. Установите необходимые пакеты:

sudo apt install -y curl wget gnupg2 software-properties-common

Установка Node.js через NodeSource

1. Добавьте репозиторий NodeSource:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

2. Установите Node.js:

sudo apt install -y nodejs

3. Проверьте версии:

node --version
npm --version

Альтернативная установка через snap

1. Установите snap:

sudo apt install -y snapd

2. Установите Node.js через snap:

sudo snap install node --classic

Установка через NVM (Node Version Manager)

1. Скачайте и установите NVM:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

2. Перезагрузите терминал или выполните:

source ~/.bashrc

3. Установите последнюю версию Node.js:

nvm install node

4. Используйте установленную версию:

nvm use node

5. Установите LTS версию:

nvm install --lts
nvm use --lts

3. Настройка npm

Обновление npm

1. Обновите npm до последней версии:

sudo npm install -g npm@latest

2. Проверьте версию:

npm --version

Настройка npm конфигурации

1. Настройте глобальную директорию для пакетов:

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'

2. Добавьте путь в .bashrc:

echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Настройка npm реестра

1. Установите альтернативный реестр (например, Yarn):

npm install -g yarn

2. Настройте реестр:

npm config set registry https://registry.npmjs.org/

3. Проверьте конфигурацию:

npm config list

4. Управление пакетами

Глобальная установка пакетов

1. Установка популярных пакетов:

sudo npm install -g express-generator
sudo npm install -g nodemon
sudo npm install -g pm2
sudo npm install -g typescript
sudo npm install -g @angular/cli

2. Просмотр глобальных пакетов:

npm list -g --depth=0

3. Удаление глобальных пакетов:

sudo npm uninstall -g package_name

Локальная установка пакетов

1. Инициализация проекта:

mkdir my-project
cd my-project
npm init

2. Установка зависимостей:

npm install express
npm install --save-dev nodemon

3. Установка из package.json:

npm install

Управление зависимостями

1. Просмотр установленных пакетов:

npm list

2. Проверка устаревших пакетов:

npm outdated

3. Обновление пакетов:

npm update

4. Аудит безопасности:

npm audit
npm audit fix

5. Создание Node.js приложения

Простое веб-приложение

1. Создайте файл app.js:

nano app.js

2. Добавьте код:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
    res.send('Hello World!');
});

app.listen(port, () => {
    console.log(`Server running at http://localhost:${port}`);
});

3. Установите Express:

npm install express

4. Запустите приложение:

node app.js

Создание API сервера

1. Создайте файл server.js:

nano server.js

2. Добавьте код:

const express = require('express');
const cors = require('cors');
const app = express();
const port = 3000;

// Middleware
app.use(cors());
app.use(express.json());

// Routes
app.get('/api/users', (req, res) => {
    res.json([
        { id: 1, name: 'John Doe', email: 'john@example.com' },
        { id: 2, name: 'Jane Smith', email: 'jane@example.com' }
    ]);
});

app.post('/api/users', (req, res) => {
    const { name, email } = req.body;
    res.json({ id: Date.now(), name, email });
});

app.listen(port, () => {
    console.log(`API server running at http://localhost:${port}`);
});

3. Установите зависимости:

npm install express cors

6. Управление процессами

Использование PM2

1. Установите PM2:

sudo npm install -g pm2

2. Запустите приложение через PM2:

pm2 start app.js --name "my-app"

3. Просмотр процессов:

pm2 list

4. Остановка процесса:

pm2 stop my-app

5. Перезапуск процесса:

pm2 restart my-app

6. Удаление процесса:

pm2 delete my-app

Настройка автозапуска PM2

1. Сохраните текущие процессы:

pm2 save

2. Настройте автозапуск:

pm2 startup

3. Следуйте инструкциям для настройки systemd

Мониторинг PM2

1. Просмотр логов:

pm2 logs
pm2 logs my-app

2. Мониторинг в реальном времени:

pm2 monit

3. Перезагрузка без простоя:

pm2 reload my-app

7. Настройка веб-сервера

Настройка Nginx для Node.js

1. Установите Nginx:

sudo apt install -y nginx

2. Создайте конфигурацию:

sudo nano /etc/nginx/sites-available/nodejs

3. Добавьте конфигурацию:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
    }
}

4. Включите сайт:

sudo ln -s /etc/nginx/sites-available/nodejs /etc/nginx/sites-enabled/

5. Проверьте конфигурацию:

sudo nginx -t

6. Перезапустите Nginx:

sudo systemctl restart nginx

Настройка Apache для Node.js

1. Установите Apache:

sudo apt install -y apache2

2. Включите необходимые модули:

sudo a2enmod proxy
sudo a2enmod proxy_http

3. Создайте конфигурацию:

sudo nano /etc/apache2/sites-available/nodejs.conf

4. Добавьте конфигурацию:

<VirtualHost *:80>
    ServerName your-domain.com
    
    ProxyPreserveHost On
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>

5. Включите сайт:

sudo a2ensite nodejs

6. Перезапустите Apache:

sudo systemctl restart apache2

8. Настройка SSL

Установка Certbot

1. Установите Certbot:

sudo apt install -y certbot python3-certbot-nginx

2. Получите SSL сертификат:

sudo certbot --nginx -d your-domain.com

3. Настройте автоматическое обновление:

sudo crontab -e

4. Добавьте задачу:

0 12 * * * /usr/bin/certbot renew --quiet

Настройка HTTPS в Node.js

1. Установите https модуль:

npm install https

2. Создайте HTTPS сервер:

const https = require('https');
const fs = require('fs');
const express = require('express');

const app = express();

const options = {
    key: fs.readFileSync('/path/to/private-key.pem'),
    cert: fs.readFileSync('/path/to/certificate.pem')
};

https.createServer(options, app).listen(443, () => {
    console.log('HTTPS server running on port 443');
});

9. Тестирование и отладка

Использование nodemon

1. Установите nodemon:

sudo npm install -g nodemon

2. Запустите приложение с автоперезагрузкой:

nodemon app.js

3. Настройте nodemon.json:

nano nodemon.json

4. Добавьте конфигурацию:

{
    "watch": ["src"],
    "ext": "js,json",
    "ignore": ["src/**/*.spec.js"],
    "exec": "node src/index.js"
}

Отладка с помощью debugger

1. Запустите приложение в режиме отладки:

node --inspect app.js

2. Откройте Chrome DevTools:

chrome://inspect

3. Используйте console.log для отладки:

console.log('Debug info:', variable);

10. Управление версиями Node.js

Использование NVM

1. Установка конкретной версии:

nvm install 16.20.0
nvm use 16.20.0

2. Установка LTS версии:

nvm install --lts
nvm use --lts

3. Просмотр установленных версий:

nvm list

4. Установка версии по умолчанию:

nvm alias default 18.17.0

Обновление Node.js

1. Обновление через NVM:

nvm install node
nvm use node

2. Обновление через apt:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

11. Устранение неполадок

Частые проблемы

1. EACCES ошибки:

  • Используйте sudo для глобальных пакетов
  • Настройте npm prefix
  • Используйте nvm для управления версиями

2. Проблемы с путями:

  • Проверьте PATH переменную
  • Обновите .bashrc
  • Перезапустите терминал

3. Проблемы с зависимостями:

  • Очистите npm кэш:
    npm cache clean --force
  • Удалите node_modules:
    rm -rf node_modules
  • Переустановите зависимости:
    npm install

Диагностика

1. Проверка версий:

node --version
npm --version

2. Проверка путей:

which node
which npm

3. Проверка конфигурации:

npm config list

4. Проверка глобальных пакетов:

npm list -g --depth=0

Заключение

Node.js и npm успешно установлены и настроены! Теперь вы можете разрабатывать и запускать современные веб-приложения на JavaScript.

Для размещения ваших Node.js приложений на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой Node.js и оптимизацией производительности ваших приложений!