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

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск

Содержание

Установка и настройка 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 и оптимизацией производительности ваших приложений!