Node.js – это платформа JavaScript для программирования общего назначения, которая позволяет быстро создавать сетевые приложения. Данная платформа работает в Linux, OS X, FreeBSD и Windows. Приложения Node.js можно запускать в командной строке, но данное руководство продемонстрирует, как запустить приложение в качестве сервиса (в таком случае приложение сможет автоматически перезагружаться вместе с сервером или при сбое и будет безопасно для использования в производственной среде).
Данное руководство поможет подготовить среду Node.js к производству на сервере Debian 8. Приложение Node.js будет управляться PM2 и предоставит пользователям безопасный доступ при помощи обратного прокси-сервера Nginx.
Требования
- Сервер Debian 8 (инструкции по настройке здесь).
- Не root пользователь с доступом к sudo.
- Домен, направленный на внешний IP-адрес сервера.
Установка Node.js
Для начала нужно установить LTS-релиз Node.js при помощи архива NodeSource.
Установка и удаление программ в Debian
Установите PPA в домашний каталог, чтобы получить доступ к его содержимому. Используйте curl, чтобы извлечь установочный сценарий необходимой версии (укажите её вместо 6.x ):
cd ~
curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh
Проверьте содержимое сценария при помощи редактора:
sudo bash nodesource_setup.sh
Архив PPA будет добавлен в настройки. Индекс пакетов обновится автоматически. После запуска установочного сценария nodesource можно установить пакет Node.js:
sudo apt-get install nodejs
Пакет nodejs содержит бинарный файл nodejs и npm (потому вам не придётся устанавливать npm отдельно). Однако для работы некоторых компонентов npm (компилирующих исходный код и т.п.) необходим пакет build-essential:
sudo apt-get install build-essential
Теперь можно приступать к созданию приложения.
Создание приложения Node.js
В качестве примера можно создать простое приложение Hello World; оно будет возвращать фразу Hello World на любой запрос HTTP. Такое приложение можно в дальнейшем использовать в качестве шаблона для более сложного приложения.
Примечание: Копируя код, не забудьте указать свой IP-адрес и порт вместо условных данных.
Код приложения Hello World
Создайте приложение Node.js и откройте его в текстовом редакторе (в руководстве файл называется hello.js):
cd ~
nano hello.js
Вставьте в файл следующий код. При необходимости можно заменить номер порта 8080 (он должен быть от 1024 и больше).
#!/usr/bin/env nodejs
var http = require(‘http’);
http.createServer(function (req, res) res.writeHead(200, );
res.end(‘Hello Worldn’);
>).listen(8080, ‘localhost’);
console.log(‘Server running at http://localhost:8080/’);
Сохраните и закройте файл.
Данное приложение будет слушать указанный адрес (localhost) и порт (8080) и возвращать фразу Hello World с HTTP-кодом 200. При прослушивании localhost удалённые клиенты не смогут получить доступ к приложению.
Как запускать ЛЮБЫЕ продукты ADOBE и MICROSOFT в LINUX
Тестирование приложения
Чтобы протестировать приложение, создайте исполняемый файл hello.js:
chmod +x ./hello.js
./hello.js
Server running at http://localhost:8080/
Примечание: Запуская Node.js таким образом, вы блокируете дополнительные команды. Они будут доступны после остановки приложения (Ctrl-C).
Чтобы протестировать приложение, откройте новый терминал и подключитесь к localhost с помощью curl:
Если на экране появился следующий вывод, приложение работает правильно:
Если такой вывод не появился, убедитесь, что приложение Node.js запущено и правильно настроено (слушает правильный адрес и порт).
Остановите приложение, нажав Ctrl+C.
Установка PM2
Теперь нужно установить PM2. Это менеджер процессов Node.js. PM2 предоставляет простой способ управления и демонизации приложений.
Установку можно выполнить при помощи пакетного менеджера npm.
sudo npm install -g pm2
При помощи опции –g менеджер npm выполнит глобальную установку PM2.
Управление приложением с помощью PM2
Менеджер процессов PM2 очень прост в использовании. Рассмотрим основы его работы.
Запуск приложения
Для запуска приложений в фоновом режиме используется команда pm2 start:
Теперь сервер будет отвечать на запросы к root-каталогу. К примеру, если сервер доступен по домену example.com, то приложение будет доступно по ссылке:
Это отправит запрос приложению hello.js на порт 8080 localhost.
В этот файл можно добавить ещё несколько блоков location, чтобы открыть доступ к другим приложениям, размещённым на этом сервере. К примеру, если бы другое приложение использовало порт 8081, блок, открывающий доступ по ссылке http://example.com/app2, имел бы такой вид:
location /app2 proxy_pass http://localhost:8081;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade’;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
>
Сохраните и закройте файл.
Убедитесь, что в файлах нет ошибок:
После этого перезапустите Nginx:
sudo systemctl restart nginx
Теперь нужно открыть порт приложения в брандмауэре.
Если вы используете ufw, введите команду:
sudo ufw allow ‘Nginx Full’
Чтобы проверить состояние брандмауэра, используйте команду:
sudo ufw status
Если вы используете IPTables, вы можете разблокировать трафик Nginx с помощью команды:
sudo iptables -I INPUT -p tcp -m tcp —dport 80 -j ACCEPT
Чтобы проверить состояние брандмауэра, введите:
sudo iptables -S
Если приложение Node.js запущено, а сервер Nginx правильно настроен, теперь вы можете получить доступ к приложению через обратный прокси-сервер Nginx. Попробуйте открыть URL сервера (его IP или домен).
После этого нужно защитить сервер при помощи шифрования трафика. Все необходимые инструкции вы найдёте в руководстве Создание сертификата Let’s Encrypt для Nginx в Debian 8.
Заключение
Теперь приложение Node.js запущено и использует Nginx в качестве обратного прокси на сервере Debian 8.
Источник: www.8host.com
Приложение B. Краткий Коррективный Курс
Несмотря на то, что эта книга ориентирована на администраторов и опытных пользователей, мы не хотели исключать заинтересовавшихся новичков. Это приложение — ускоренный курс,в котором описываются основные понятия, затрагивающие обращение с компьютером в Unix.
B.1. Shell и Базовые команды
В мире Unix каждый администратор рано или поздно использует командную строку; например, когда система не запускается должным образом и имеется только командная строка режима восстановления. Умение управляться с командной строкой — базовое для выживания в таких условиях.
КРАТКИЙ ЭКСКУРС Запуск командного интерпритатора
A command-line environment can be run from the graphical desktop, by an application known as a “terminal”. In GNOME, you can start it from the “Activities” overview (that you get when you move the mouse in the top-left corner of the screen) by typing the first letters of the application name. In Plasma (and many other desktop variants), you will find it in the applications menu Applications → System menu.
Эта секция дает только краткий обзор команд. Они все имеют много опций, не описанных здесь. Поэтому, пожалуйста, обратитесь к документации в соответствующих страницах руководства.
B.1.1. Обзор Дерева Каталогов и Управления Файлами
После того, как сеанс открыт, команда pwd (которая служит для вывода рабочего каталога ) показывает текущее местоположение в файловой системе. Текущий каталог изменяется с помощью команды cd каталог ( cd для того, чтобы изменить каталог ). Родительский каталог всегда называют .. (две точки), тогда как текущий каталог — . (одна точка). Команда ls выводит список содержимого каталога. Если никаких параметров не задано, она работает в текущем каталоге.
$ pwd /home/rhertzog $ cd Desktop $ pwd /home/rhertzog/Desktop $ cd . $ pwd /home/rhertzog/Desktop $ cd .. $ pwd /home/rhertzog $ ls Desktop Downloads Pictures Templates Documents Music Public Videos
Новый каталог может быть создан с помощью команды mkdir каталог , а удален существующий (пустой) каталог может быть с помощью — rmdir каталог . Команда mv позволяет переместить и/или переименовать файлы и каталоги; удаление файлов достигается с помощью команды rm файл .
$ mkdir test $ ls Desktop Downloads Pictures Templates Videos Documents Music Public test $ mv test new $ ls Desktop Downloads new Public Videos Documents Music Pictures Templates $ rmdir new $ ls Desktop Downloads Pictures Templates Videos Documents Music Public
B.1.2. Отображение и Изменение Текстовых Файлов
Команда cat файл (предназначенная для связывания файла со стандартным устройством вывода) считывает файл и отображает его содержимое на терминале. Если файл слишком большой чтобы поместиться на экране, используйте пейджер (полоса прокрутки) например меньше (или больше ) для прокрутки содержимого файла на странице.
Команда editor запускает текстовый редактор (например vi или nano ) и позволяет создавать, редактировать и читать текстовые файлы. Простейшие файлы иногда могут быть созданы непосредственно из интерпретатора команд с помощью перенаправления: echo «текст» >файл . Оно создает файл с “текстом” в качестве содержимого. Добавить строку в конце файла тоже возможно, с помощью такой команды как echo «еще текст» >>файл . Запишите >> в этот пример.
B.1.3. Поиск Файлов и в пределах Файла
Команда find каталог критерий ищет файлы внутри каталога каталог по особым критериям. Наиболее часто используемым критерием является -name имя : что позволяет найти файл по его имени.
Команда grep выражение файл ищет содержимое файла и извлекает строки, совпадающие с выражением (смотри боковую панель BACK TO BASICS Regular expression). Добавление опции -r включает рекурсивный поиск всех файлов, содержащихся в каталоге, используемом в качестве параметра. Это позволяет найти файл когда известна лишь часть содержимого.
B.1.4. Управление Процессами
Команда ps aux выводит список запущенных процессов и помогает идентифицировать, показывая их pid (Идентификационный номер процесса). Когда pid процесса известен, команда kill -сигнал pid позволяет отправить ему сигнал (если процесс принадлежит текущему пользователю). Существует несколько сигналов; наиболее часто используемые — это TERM (запрос завершиться корректно) и KILL (принудительно убить).
Командный интерпретатор может запускать программы в фоновом режиме, если за командой следует “ ввод fg %номер фонового процесса (от foreground ) возвращает процесс на передний план. Когда команда выполняется на переднем плане (была запущена обычным образом или перенесена на передний план с помощью fg ), комбинация клавиш Control + Z приостанавливает процесс и возвращает контроль над командной строкой. Процесс может быть возобновлен в фоновом режиме с помощью bg %номер фонового процесса (от background ).
B.1.5. Информация о системе: Память, Дисковое пространство, Идентификатор
Команда free отображает сведения о памяти; df ( disk free ) выводит отчет о доступном дисковом пространстве на каждом из дисков, смонтированных в файловой системе. Опция -h (для читаемости человеком ) преобразует размеры в более разборчивый вид (обычно в мегабайты или гигабайты).Аналогичным образом, команда free поддерживает опции -m и -g для отображения данных в мегабайтах или гигабайтах, соответственно.
$ free total used free shared buff/cache available Mem: 16279260 5910248 523432 871036 9845580 9128964 Swap: 16601084 240640 16360444 $ df Filesystem 1K-blocks Used Available Use% Mounted on udev 8108516 0 8108516 0% /dev tmpfs 1627928 161800 1466128 10% /run /dev/mapper/vg_main-root 466644576 451332520 12919912 98% / tmpfs 8139628 146796 7992832 2% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 8139628 0 8139628 0% /sys/fs/cgroup /dev/sda1 523248 1676 521572 1% /boot/efi tmpfs 1627924 88 1627836 1% /run/user/1000
Команда id выводит идентификатор пользователя, запустившего сессию, а также список групп, в которые он входит. Поскольку доступ к некоторым файлам или устройствам может быть ограничен для членов некоторых групп, проверка групп (в которых состоит пользователь) может быть полезной.
$ id uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)
Источник: www.debian.org
Вопрос: Как запустить программу в Debian?
Запустите терминал из меню приложений на рабочем столе, и вы увидите оболочку bash. Существуют и другие оболочки, но большинство дистрибутивов Linux по умолчанию используют bash. Нажмите Enter после ввода команды для ее запуска.. Обратите внимание, что вам не нужно добавлять .exe или что-то в этом роде — программы не имеют расширений файлов в Linux.
Как запустить файл в Debian?
Графический интерфейс пользователя
- Найди . запустите файл в Файловом браузере.
- Щелкните правой кнопкой мыши файл и выберите «Свойства».
- На вкладке «Разрешения» установите флажок «Разрешить выполнение файла как программы» и нажмите «Закрыть».
- Дважды щелкните файл. запустите файл, чтобы открыть его. …
- Нажмите «Выполнить» в терминале, чтобы запустить установщик.
- Откроется окно Терминала.
Как запустить программу из командной строки Linux?
Используйте команду «Выполнить», чтобы открыть приложение
- Нажмите Alt + F2, чтобы открыть окно команды запуска.
- Введите название приложения. Если вы введете имя правильного приложения, появится значок.
- Вы можете запустить приложение, щелкнув значок или нажав Return на клавиатуре.
Как запустить программу в Linux?
Запускать приложения с клавиатуры
- Откройте Обзор действий, нажав клавишу Super.
- Начните вводить название приложения, которое хотите запустить. Поиск приложения начинается мгновенно.
- После отображения и выбора значка приложения нажмите Enter, чтобы запустить приложение.
Как запустить программу на bash?
Сделать исполняемый сценарий Bash
- 1) Создайте новый текстовый файл с расширением. sh расширение. …
- 2) Добавьте #! / Bin / bash в начало. Это необходимо для части «сделать его исполняемым».
- 3) Добавьте строки, которые вы обычно вводите в командной строке. …
- 4) В командной строке запустите chmod u + x YourScriptFileName.sh. …
- 5) Запускайте, когда вам нужно!
Как запустить приложение с терминала?
Выберите приложение под названием терминал и нажмите клавишу возврата. Это должно открыть приложение с черным фоном. Когда вы видите свое имя пользователя, за которым следует знак доллара, вы готовы начать использовать командную строку.
Как мне запустить .bin файл?
Вы не можете открыть файл BIN напрямую; для того, чтобы использовать его, вам понадобится либо записать его на диск, либо смонтировать на виртуальный привод. Вы также можете преобразовать файл BIN в файл ISO, что позволит вам использовать множество других программ для его записи или монтирования.
Что такое команда «Выполнить» в Linux?
В операционной системе, такой как Unix-подобные системы и Microsoft Windows, команда запуска выглядит так: используется для прямого открытия документа или приложения, путь к которому хорошо известен.
Как открыть папку в Debian?
Команды для файлов и каталогов
- Чтобы перейти в корневой каталог, используйте «cd /»
- Чтобы перейти в домашний каталог, используйте «cd» или «cd ~».
- Для перехода на один уровень вверх по каталогу используйте «cd ..»
- Для перехода к предыдущему каталогу (или назад) используйте «cd -»
Как запустить программу из командной строки?
Тип cd в командной строке введите один пробел, нажмите Ctrl + V, чтобы ввести путь к программе, и нажмите ↵ Enter. Введите start в командную строку. Убедитесь, что вы оставили место после начала. Введите название вашей программы.
Как установить программу в терминал Linux?
Чтобы установить любой пакет, просто откройте терминал (Ctrl + Alt + T) и введите sudo apt-get install . Например, чтобы получить Chrome, введите sudo apt-get install chromium-browser. SYNAPTIC: Synaptic — это графическая программа управления пакетами для apt.
Источник: frameboxxindore.com