Установка и настройка Node.js и npm
Содержание
- 1 Установка и настройка Node.js и npm
- 1.1 1. Подготовка системы
- 1.2 2. Установка Node.js
- 1.3 3. Настройка npm
- 1.4 4. Управление пакетами
- 1.5 5. Создание Node.js приложения
- 1.6 6. Управление процессами
- 1.7 7. Настройка веб-сервера
- 1.8 8. Настройка SSL
- 1.9 9. Тестирование и отладка
- 1.10 10. Управление версиями Node.js
- 1.11 11. Устранение неполадок
- 1.12 Заключение
Установка и настройка 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):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для высоконагруженных Node.js приложений
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних проектов
Наши специалисты помогут с настройкой Node.js и оптимизацией производительности ваших приложений!