Перейти к содержимому

Настроить виртуальный сервер ноде js что это

  • автор:

Развертывание веб-приложения Node.js на виртуальной машине в Azure Stack Hub

Вы можете создать виртуальную машину для размещения веб-приложения Node.js в Azure Stack Hub. В этой статье описана настройка сервера, настройка сервера для размещения веб-приложения Node.js, а затем развертывание приложения в Azure Stack Hub.

Общие сведения о глобальной среде Azure см. в статье Azure для разработчиков JavaScript & Node.js. Эта статья посвящена использованию Azure Stack Hub, локальной версии Azure.

Создание виртуальной машины

  1. Настройте виртуальную машину в Azure Stack Hub, следуя инструкциям из статьи о развертывании виртуальной машины Linux для размещения веб-приложения в Azure Stack Hub.
  2. В области сети виртуальных машин разрешите доступ к следующим портам:
Порт Протокол Описание
80 HTTP HTTP — это протокол, который используется для доставки веб-страниц с серверов. Клиенты подключаются по протоколу HTTP, используя DNS-имя или IP-адрес.
443 HTTPS HTTPS — это безопасная версия протокола HTTP, которая использует сертификат безопасности и обеспечивает передачу данных в зашифрованном виде.
22 SSH Secure Shell (SSH) — это сетевой протокол с применением шифрования для безопасного обмена данными. Такое соединение используется клиентом SSH для настройки виртуальной машины и развертывания приложений.
3389 RDP Необязательный параметр. Протокол RDP позволяет подключаться к удаленному рабочему столу, чтобы использовать графический пользовательский интерфейс на вашем компьютере.
3000 Особые настройки Порт, используемый платформой Node.js Express. Для рабочего сервера разработки вам нужно перенаправить трафик через порты 80 и 443.

Установка Node

  1. Подключитесь к виртуальной машине c помощью клиента SSH. Инструкции см. в разделе Подключение по протоколу SSH с помощью PuTTy.
  2. В командной строке bash на виртуальной машине ведите следующую команду:
 sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm 
 node --version 

Подготовка нового приложения с помощью генератора Express

Express — это популярная платформа для создания и запуска приложений Node. js. Вы можете создать шаблон (создать) новое приложение Express с помощью средства Экспресс-генератора. Генератор Express поставляется в виде модуля npm и может запускаться напрямую (без установки) с помощью программы npx командной строки npm .

 npx express-generator myExpressApp --view pug --git 

Параметры —view pug —git сообщают генератору, что он должен использовать обработчик шаблонов pug (ранее известный под именем jade ) и создать файл с именем .gitignore .

Чтобы установить все зависимости приложения, перейдите в новую папку и запустите npm install.

cd myExpressApp npm install 

Запустите приложение. Запустите приложение из терминала с помощью команды npm start , чтобы начать работу сервера.

Перейдите на новый сервер в веб-браузере. Вы увидите запущенное веб-приложение. URL-адрес виртуальной машины Linux можно найти на пользовательском портале Azure Stack Hub с меткой DNS-имя.

http://yourhostname.contoso.com:3000 

Дальнейшие действия

  • См. дополнительные сведения о разработке для Azure Stack Hub.
  • Дополнительные сведения о распространенных сценариях развертывания IaaS для Azure Stack Hub см. здесь.
  • Дополнительные сведения об использовании Node.js с Azure см. в статье Azure для разработчиков JavaScript & Node.js.

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

Если вы используете Node.js как средство серверной разработки для своего сайта или web-приложения, то эта статья для вас, поскольку в ней мы рассмотрим настройку данной программной платформы и правильную организацию структуры папок для корректного функ­цио­ни­ро­ва­ния вашего проекта.

Для начала вам необходимо установить Node.js на свой аккаунт. Скачать любую версию Node.js можно с официального репозитория https://nodejs.org/dist/. На момент написания данного руководства, последним релизом являлась версия v10.6.0, скачать её можно здесь.

Выбирать нужно версию для Linux, битность x64, архиватор GZIP. Скачиваем файл https://nodejs.org/dist/v10.6.0/node-v10.6.0-linux-x64.tar.gz

Для нужной версии вы сможете также установить и необходимые модули (см. ниже).

На хостинге функционирование Node.js реализовано через специальную библиотеку Passenger, которая осуществляет взаимодействие Вашего сайта с обработчиком Node.js

Рассмотрим структуру папок и файлов. Мы предлагаем реализовать ее примерно следующим образом:

  • site-name.com (корневая папка вашего сайта)
  • htdocs
  • www
  • nodejs_app
  • www
  • nodejs_tmp
  • www

Ваша цель — создать идентичную структуру и разместить файлы в соответствующих схеме директориях. Далее мы наполним их содержимым.

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

Чтобы сразу начать пользоваться необходимой вам версией Node (при условии, что Вы уже получили доступ по SSH), можете ввести следующие команды в терминале для загрузки и распаковки архива с файлами:

Работа с .htaccess файлом

Чтобы Passenger мог взаимодействовать с Node.js, в файле .htaccess (мы рекомендуем располагать его здесь ./site-name.com/htdocs/www/.htaccess) необходимо прописать следующее:

PassengerAppRoot /home/hostXXXXXXX/site-name.com/nodejs_app/www PassengerAppType node PassengerStartupFile app.js PassengerNodejs /home/hostXXXXXXX/node/bin/node PassengerRestartDir /home/hostXXXXXXX/site-name.com/nodejs_tmp/www PassengerFriendlyErrorPages on
  • Вместо hostXXXXXXX вы прописываете номер своего аккаунта
  • site-name.com — это имя папки с вашим проектом
  • app.js — название файла, который запускает работу серверной части (вы можете назвать его как захотите, главное, пропишите соответствующее имя в .htaccess)
  • PassengerNodejs — путь до исполняемого файла Node.js
  • PassengerFriendlyErrorPages — опция для отображения ошибок, в случае, когда приложение работает не корректно, или не запускается (по умолчанию — PassengerFriendlyErrorPages off). Данная опция выводит сообщения об ошибке, некоторые предложения по решению проблемы, трассировку и дамп переменных среды выполнения. Рекомендуется включать эту опцию только на этапе разработки. После её окончания удалите или закомментируйте в .htaccess эту опцию.

Включение лога ошибок

При разработке любого сайта или приложения разработчики допускают ошибки. По умолчанию, они записываются в папку logs, которая находится в корне сайта. Также, убедитесь, что у вас включена данная опция в панели управления. Во вкладке «Домены»→«Прикрепление домена», рядом с надписью «Лог-файлы веб сервера» есть переключатель, который включает/выключает данную опцию. После включения, логи начнут писаться в течение 5 минут (при обычной загруженности сервера).

Перезапуск приложения

Файлы restart.txt и always_restart.txt необходимы для того, чтобы при внесении вами каких-либо изменений в рабочие файлы (к примеру, app.js) Passenger, применяя правила записанные в .htaccess, мог перехватывать их и применять в работе сайта. Отличие заключается в том, что restart.txt сработает только один раз, а always_restart.txt перезапускает процесы веб-сервера при каждом поступившем запросе. Рекомендуется использовать always_restart.txt только при разработке. После того, как разработка проекта будет завершена, не забудьте удалить этот файл, чтобы избежать задержек при отображении страницы посетителям.

Если Вы уверены в том, что ваш код работает без багов, но всё-равно видите ошибки на странице, можно принудительно завершить все процессы с помощью следующей команды через SSH-соединение:

killall -2 "Passenger NodeApp"

После чего перезагрузить страницу.

Код для app.js

И напоследок, осталось добавить скрипт для запуска Node в app.js. Ниже представлен код с официального сайта Node.js (в дальнейшем вы можете изменять его по своему усмотрению, сейчас мы лишь хотим убедиться, что всё работает):

const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => < res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); >); server.listen(port, hostname, () => < console.log(`Server running at http://$:$/`); >);

Итак, все настройки произведены. Откройте сайт в новой вкладке. Если выводится Hello world, то всё работает, как и ожидалось. В противном случае, ещё раз пройдите по вышеприведённому алгоритму действий. Возможно, вы что то упустили.

Пример подключения модуля

Чтобы установить какой-либо модуль в директорию с файлами приложения, при этом используя установленную версию Node.js, необходимо для начала прописать путь до исполняемого файла node в .bash_profile (он лежит в корне вашего аккаунта). После этого вы сможете обращаться к нему из любой директории вашего проекта.

Итак, откройте .bash_profile и допишите следующую строку:

PATH=$HOME/.local/bin:$HOME/bin:$HOME/site-name.com/node/bin:$PATH

Для примера, рассмотрим подключение модуля mysql для работы с базой данных (предварительно, создайте таблицу под любым названием и поместите туда несколько записей). Чтобы установить даный модуль, зайдите через SSH-соединение в директорию «nodejs_app/www» и введите в терминале команду:

npm init --force

Таким обазом создастся файл package.json с данными о вашем приложении. После этого наберите команду:

npm install mysql --save-dev

Вы увидите, что автоматически создастся новая директория «node_modules» и подгрузятся необходимые нам для работы файлы.

Также, рекомендуем загрузить 2 часто используемых модуля — fs (для работы с файлами) и util (для красивого вывода объектов в консоль)

npm install fs util --save-dev

Далее, открываем файл нашего приложения app.js и добавляем следующий код:

const fs = require('fs'); const util = require('util'); var log_file = fs.createWriteStream(__dirname + '/debug.log', ); var log_stdout = process.stdout; console.log = function(d) < log_file.write(util.format(d) + '\n'); log_stdout.write(util.format(d) + '\n'); >; const mysql = require('mysql'); const connection = mysql.createConnection(< host : 'localhost', user : 'hostXXXXXXX', password : 'your_password', database : 'your_database_name' >); connection.connect(); connection.query('SELECT * FROM my_table', function (error, results, fields) < if (error) throw error; results.forEach(function(obj) < console.log( util.inspect(obj) ); >); >); connection.end();

В коде выше мы, с помощью модуля fs, создаём новый файл debug.log, в который будем помещать вывод функции console.log

Далее, переопределяем саму функцию console.log, задействуя поток на запись.

Теперь, при помощи модуля mysql, подключаемся к своей БД и выбираем все записи из нужной нам таблицы, прописывая их в созданный нами файл.

Проверим, всё ли сработало: перезагрузите страницу своего сайта и откройте файл debug.log — вы должны увидеть вывод всех записей из таблицы.

Запуск приложений через crontab

Для запуска приложений Node.js через crontab создайте shell скрипт и определите в нём переменную окружения PATH исходя из ваших требований, или можно указать полный путь к бинарному файлу nodejs и скрипту. Простейший Shell скрипт для запуска nodejs приложения:

#!/usr/bin/env sh env PATH=/home/hostXXXXXXX/node-vXX.ZZ.YY/bin:/home/hostXXXXXXX/node-vXX.ZZ.YY/bin:$PATH node example.js

Или команда для запуска целиком:

/home/hostXXXXXX/nodejs/bin/node /home/hostXXXXXX/nodeproject/example.js

Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».

Как установить Node.js на Ubuntu

В статье мы расскажем, как проходит установка node js на Ubuntu и что это такое. Настройка VPS Node js Ubuntu по инструкции не займет у вас много времени.

Что такое Node.js

Node.js — это среда выполнения JavaScript. Платформа позволяет работать с JavaScript на стороне сервера. Раньше JavaScript мог выполнять только браузер, но благодаря Node.js код можно выполнять и вне браузера. Node.js построен на движке Chrome V8.

Обычно Node.js используют для написания серверного кода сайтов и веб-приложений, однако его можно использовать и для десктопных программ.

Как установить Node js на Ubuntu

Если ранее у вас уже была установлена какая-либо из версий Node, вы можете как переустановить Node js, так и полностью удалить старую версию, а после поставить новую. Мы расскажем, как поставить на VPS Node js с нуля.

Node.js можно установить на Linux Ubuntu несколькими способами:

  • с помощью пакетного менеджера Ubuntu,
  • через PPA (Personal Package Archive) — архив персональных пакетов,
  • через NVM (Node Version Manager) — bash-скрипт,
  • через бинарные файлы.

Рассмотрим самые простые и надежные способы — с помощью пакетного менеджера и через архив персональных пакетов PPA.

Установка Node.js через пакетный менеджер

Важно! Перед установкой убедитесь, что вы вошли под суперпользователем sudo.

  1. Откройте терминал.
  2. Обновите локальный индекс пакетов:
sudo apt update

3. Установите Node js репозиторий:

sudo apt install nodejs

4. Установите менеджер пакетов npm Ubuntu:

sudo apt install npm

5. Проверьте работоспособность программ командами:

nodejs -v
npm -v

Node js Ubuntu install

Готово, вы установили Node.js на виртуальный выделенный сервер (VPS) c Ubuntu.

Установка Node.js через архив персональных пакетов PPA

  1. Откройте терминал.
  2. Перейдите в домашнюю директорию:

3. Для установки версии PPA введите команду:

curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh

где вместо 8.x вы можете добавить нужную вам версию.
4. Проверьте содержимое скрипта с помощью nano или любого другого текстового редактора:

nano nodesource_setup.sh

5. Запустите скрипт с правами sudo. После этого PPA будет включен в конфигурацию. Ваш локальный кэш пакетов автоматически обновится.

sudo bash nodesource_setup.sh

6. Установите репозиторий Node.js:

sudo apt install nodejs

7. Установленный пакет Node.js содержит в себе менеджер пакетов npm. Для отслеживания обновлений npm обращается к конфигурационному файлу вашей домашней директории. Файл будет создан при первом запуске npm.

Проверьте работоспособность программы с помощью команд:

node -v
npm -v

Linux install Nodejs

Готово, вы установили Node.js на виртуальный сервер (VDS) c Ubuntu.

Популярные статьи

  • Как указать (изменить) DNS-серверы для домена
  • Я зарегистрировал домен, что дальше
  • Как добавить запись типа A, AAAA, CNAME, MX, TXT, SRV для своего домена
  • Что такое редирект: виды и возможности настройки
  • Как создать почту со своим доменом

Свой Node.js хостинг на VPS

По ходу изучения Node.js я создал много маленьких проектов. В дальнейшем мне понадобилось развернуть некоторые из них на сервере, чтобы иметь возможность развивать их в дальнейшем. Существующие хостинги Appfog и Heroku имеют ряд серьезных ограничений на бесплатных аккаунтах. На Appfog’е можно запускать одновременно не больше 2-х приложений, и бесплатная регистрация у них уже отключена. На Heroku можно создать только 5 приложений (без базы данных) без подтверждения аккаунта привязкой банковской карты. Платные аккаунты стоят очень дорого для меня (я ведь не зарабатываю на этих маленьких проектах): $20 долларов на Appfog, а heroku еще дороже. Коллеги порекомендовали попробовать хостинг на Digital Ocean — виртуальный сервер за $5 доларов в месяц, на котором можно легко настроить собственный хостинг node.js-проектов.

О том, как организовать такой хостинг, и будет идти речь в этой статье. Если по ходу руководства у вас возникнут проблемы, поищите их решение в конце статьи.

Создаем VPS

1. Регистрация на DigitalOcean

Первым делом регистрируемся на сайте DigitalOcean. Здесь мы купим VPS — виртуальный сервер. После удачной регистрации и входа в свою админку жмем на большую зеленую кнопку «Create» и нам предложат активировать свой аккаунт, внеся $5 долларов. Ниже на странице есть место для указания счастливого купона на $10, вводите OMGSSD10 или поищите свежий купон. Так как моя банковская карточка не подошла хостеру, я оплатил пейпалом и у меня на счету оказалось $15. Этого должно хватить на 3 месяца.

2. Создаем SSH-ключ

Доступ к удаленным серверам обычно делается по ssh. Это такая технология защищенных соединений. Зайти в нашу будущую VPS можно по паролю или по SSH-ключу. Я настоятельно рекомендую второй вариант, не придется все время вводить пароль. Также, SSH-ключ все равно нужно будет указать при создании нашего нового «дроплета» (словом «droplet» DigitalOcean называет виртуальный сервер).

Выполните следующие две команды в терминале, чтобы сгенерировать ssh-ключ:

$ cd ~/.ssh $ ssh-keygen -t rsa -C "email@example.com" 

И тут нас просят ввести имя файла ключа. Рекомендую использовать что-нибудь вроде id_rsa_digitalocean_dropletname , где имя дроплета — это либо имя домена, на который мы привяжем наш сервер, либо просто какое-нибудь осмысленное название. Парафразу можно оставить пустой, и так сойдет.

После этого будет создано два файла: ssh-ключ и public-ключ. Скопируем публичный ключ в буфер обмена модным способом:

$ cat ~/.ssh/id_rsa_digitalocean_dropletname.pub | pbcopy 

Теперь зайдем в админку в digitaloceans в раздел SSH-keys и создадим там новый ключ, вставив его из буфера обмена.

3. Создаем дроплет
  • В качестве hostname укажите доменное имя или что-нибудь осмысленное, это название роли не играет
  • Размер выбирайте самый маленький, его потом можно будет увеличить из терминала
  • Регион любой, я выбрал Амстердам
  • Образ выберите на вкладке Applications, c названием «Dokku v0.2.3 on Ubuntu. » или похожим
  • Укажите SSH-ключ, который мы создали на предыдущем шаге

Выбранный образ помимо операционной системы Ubuntu 14.04 содержит самое главное: Dokku. Это готовая система для хостинга node.js-проектов, очень похожая на Heroku. Использование образа с предустановленным Dokku избавит нас от необходимости устанавливать и настраивать систему для хостинга Node.js.

4. Настройка Дроплета и DNS

Droplet setup page

Теперь нужно настроить новосозданный сервер. Зайдите в браузере по IP-адресу дроплета и вы увидете экран настройки. Если такой страницы нет, смотрите что делать в конце статьи.

Здесь вы должны убедится, что поле «Public Key» заполнено. Если нет — укажите свой public key из недавно сгенерированного ключа. Однако практика показала, что лучше вообще удалить такой дроплет и создать новый, правильно указав SSH-ключ.

Если у вас нет доменного имени, то оставьте все, как есть, жмите «Finish setup» и переходите к следующему пункту. Ваше приложение будет доступно примерно так: «19.19.197.19:46667», по IP адресу и номеру порта. Если вас это не устраивает — срочно купите доменное имя. В любом случае, настроить доменное имя можно будет позже, о чем я расскажу в конце.

Если вы укажете доменное имя, у вас будет возможность настроить доступ к приложениям через поддомены. Например, если ваше доменное имя mydomain.com , тогда ваше приложение будет доступно по адресу app.mydomain.com . Также есть возможность привязать приложение на главный домен, но об это я в данной статье не расскажу.

Укажите в поле Hostname ваше доменное имя и поставьте галочку «Use virtualhost naming for apps». Теперь идите в панель управления вашим доменным именем и впишите две новые настройки примерно так:

apps.mydomain.com. IN A [Droplet IP address]
*.apps.mydomain.com. IN A [Droplet IP address]

mydomain.com. IN A [Droplet IP address]
*.mydomain.com. IN A [Droplet IP address]

Точный синтаксис уточните у себя в админке доменного имени или у домен-провайдера.

Теперь возвращайтесь на страницу настройки дроплета и жмите «Finish setup».

5. Настраиваем использование SSH

Давайте попробуем соединиться с нашим новым сервером. Чтобы получить доступ дроплету через SSH-ключ, нужно еще одно маленькое действие. Откройте терминал и передите в папку с ssh-ключами:

$ cd ~/.ssh/ 

Если у вас еще нет файла «config» в этой папке (проверка — $ ls ), то его необходимо создать:

$ touch config 

Теперь открываем config( $ open config ) и записываем в него следующие данные:

Host YOUR.DROPLET.IP.ADDRESS IdentityFile ~/.ssh/id_rsa_digitalocean_dropletname

Где в первой строчке IP адрес или доменное имя, на второй строчке — имя созданного ssh-ключа для этого дроплета.

$ ssh root@YOUR.DROPLET.IP.ADDRESS 

Где после «@» надо указать или доменное имя, или IP.

Если вы пропустили создание SSH-ключа, войти можно по паролю, который пришел к вам на почту. Для этого выполните ту же команду:

$ ssh root@YOUR.DROPLET.IP.ADDRESS 

и на вопрос о продолжении соединения напишите «yes». После этого введите пароль.

Если вы увидели приветственный экран, значит все хорошо. Закроем соединение командой exit и перейдем к следующему пункту.

Деплоим приложение

Сервер готов, теперь пришла очередь развернуть тестовое приложение и проверить его работу.

1. Подготавливаем проект

Возьмите простой проект, типа Hello, world, без mongodb и прочего. Проверьте, что в проекте есть самое главное: «package.json», «Procfile» и какой-нибудь «app.js». «Package.json» должен выглядеть примерно так:

< "name": "dokku-demo-application", "version": "1.0.0", "engines": < "node": ">=0.10.*", "npm": ">=1.3" >, "dependencies": < "express": "~3.0" >> 

Содержание файла package.json важно, так как по нему dokku будет устанавливать модули для приложения. А Procfile должен выглядеть так:

web: node server.js

Инициализируем в папке проекта репозиторий (если его не было), добавляем все файлы и коммитим:

$ git init && git add -A && git commit -m "Initial commit" 

Теперь наш проект готов к разворачиванию на сервере.

2. Заливаем и запускаем проект

Деплоить приложение будем с помощью команды git push . И для этого добавим ссылку на удаленный репозиторий нашего дроплета:

$ git remote add dokku dokku@mydomain.com:application_name 

Если у нас было доменное имя для дроплета, то пишем его после «dokku@», иначе — указываем IP. После двоеточия мы указываем имя приложения. Этот индификатор будет использоваться внутри dokku.

Теперь вызываем команду push :

$ git push dokku master 

И начинается загрузка приложения, установка модулей. В конце на экране покажется url, по которому можно запустить проект. Это будет ссылка вида 192.88.67.168:46567 или app1.mydomain.com, в зависимости от настроек dokku.

По идее проект должен быть запущен после этого. Но если нет, то заходим в по ssh в наш дроплет и выполняем две команды

$ cd /home/dokku/YOUR-APP-NAME $ dokku run YOUR-APP-NAME node app.js 

Запускаем в браузере ссылку, полученную ранее, и радуемся!

Проблемы и их устранение

Я сам разбирался с настройкой такого хостинга более суток, и набил несколько шишек. И чтобы вы могли съэкономить свое время, привожу здесь несколько возможных проблем и пути их решения.

1. Мою банковскую карточку не приняли для оплаты

Они такие, да. Даже Visa Classic им не нравится. Оплатите через PayPal, это не трудно.

2. Создал дроплет, но по IP адресу нет страницы настройки dokku
  • указать образ с Dokku
  • нажмите кнопку «Rebuild from Image».
3. Не могу получить доступ к дроплету ни по паролю, ни по SSH
  1. Наверное, вы как-то пропустили шаг настройки dokku, или dokky создался не правильно.
  2. Проверьте, если доступна страница настройки dokku по IP адресу дроплета, то вернитесь к шагу 4 создания VPS.
  3. Если страницы настроек нет, тогда попробуйте сбросить пароль и повторить попытку доступа через терминал. Если даже в этом случае доступ по паролю будет неудачным, тогда переустановите дроплет, как описано в предыдущем пункте.
4. Я не знаю пароля от дроплета

Если у вас нет пароля, зайдите на страницу управления дроплетом, вкладка «Access» и сделайте reset пароля. Тогда на почту придет новый пароль.

5. Проект не запускается по указанной ссылке

Если настройки dokku верны, такая ситуация возможна, если приложение запустилось с ошибкой и было закрыто. Зайтиде по ssh в дроплет и проверьте логи:

$ dokku logs

Возможно, ошибка будет понятна. Или же вы забыли запустить ваш проект после push’а:

$ cd /home/dokku/YOUR-APP-NAME $ dokku run YOUR-APP-NAME node app.js 
6. Я пропустил создание SSH, и теперь хочу сделать авторизацию по SSH-ключу

Я пытался создать новый дроплет без указания ssh-ключа на странице создания дроплета, но на странице настроек dokku все равно просят ввести паблик-ключ. После этого я принял некоторые действия, но все равно зайти по ssh-ключу у меня не вышло, только пароль. Так что я не знаю, как лучше действовать в данной ситуации. Возможно, ошибка происходила при команде копирования ssh ключа в дроплет. Гуглите. В крайнем случае создайте новый дроплет с самого начала, по уму, как в этом руководстве. Пример поиска.

7. Как добавить доменное имя к уже существующему дроплету

Это делается совсем не трудно, всего в несколько шагов. В настройках DNS вашего доменного имени указать настройки:

apps.mydomain.com. IN A [Droplet IP address]
*.apps.mydomain.com. IN A [Droplet IP address]

В дроплете зайти в папку dokku и открыть для редактирования HOSTNAME:

$ cd /home/dokku/ $ vim HOSTNAME 

Нажать клавишу «i» и записать в файле «HOSTNAME» доменное имя вместо IP адреса; затем нажать Esc , кнопки :wq и Enter . Ура! Мы только что успешно использовали легендарный Vim!
Чтобы проекты запускались на поддоменах, нужно создать файл VHOST :

$ touch VHOST 

И записать в файле доменное имя таким же способом, как это было в предыдущем пункте. В противном случае проекты будут доступны через порт. Теперь надо перезалить проект, а перед этим удалить его из dokku:

$ dokku delete app_name 

Удалить в репозитории предыдущий remote с IP-адресом в названии:

$ git remote remove dokku 

И добавить новый remote под старым именем:

$ git remote add dokku dokku@apps.mydomain.com:app_name 

Настраиваем SSH-ключ на новый хостинг, дописывая в ~/.ssh/config новые строчки:

Host YOUR.DROPLET.IP.ADDRESS IdentityFile ~/.ssh/id_rsa_digitalocean_dropletname

Смело пушаем проект:

$ git push dokku master 

Теперь проекты будут доступны на поддоменах.

Всем спасибо за внимание, хороших выходных!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *