Как развернуть приложение DocPad в Ubuntu 14.04

Вступление

В этом руководстве мы узнаем, как развернуть приложение, созданное с помощью https://docpad.org [DocPad], на стандартном 64-битном образе Ubuntu 14.04 на DigitalOcean. DocPad - это генератор статического сайта на основе Node.js, который можно использовать отдельно или вместе с приложением Node.js для управления контентом вашего сайта.

Прочитав это руководство, вы сможете использовать DocPad на порту 80 как пользователь без полномочий root и убедиться, что в случае сбоя приложения DocPad оно автоматически перезапустится.

Предпосылки

Прежде чем мы начнем, вам потребуется следующее:

  • Ubuntu 14.04 Droplet

  • Создайте пользователя с привилегиями sudo, который вы будете использовать для установки, настройки и запуска DocPad: https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-an- ubuntu-14-04-vps [Как добавлять и удалять пользователей на Vbu Ubuntu 14.04]. В этом уроке мы будем называть этого пользователя * docpad *

Вы должны делать все в этом руководстве как пользователь * docpad *.

Шаг 1 - Установка Git, Node.js и NPM

В этом разделе мы установим предварительные условия для DocPad.

Убедитесь, что списки пакетов вашего сервера обновлены:

sudo apt-get update

Установите Git, что позволит вам развернуть приложение DocPad по умолчанию или собственное приложение из Git репозиторий.

sudo apt-get install git

Установите Node.js в качестве веб-сервера:

sudo apt-get install nodejs

Обратите внимание, что мы устанавливаем вместо.

Node.js теперь будет доступен из командной строки с командой + nodejs +.

Мы также хотим, чтобы он был доступен нам с помощью команды. Для этого мы можем создать символическую ссылку от узла к Node.js. Это необходимо для того, чтобы приложение DocPad могло правильно загрузить все свои зависимости от плагинов, как это делают некоторые из них:

sudo ln -s /usr/bin/nodejs /usr/bin/node

Для получения дополнительной информации и альтернативных способов установки Node.js см. Статью https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server. Как установить Node.js на сервере Ubuntu 14.04.

Нам нужно установить интерфейс командной строки для https://www.npmjs.com [менеджер пакетов для Node], чтобы загрузить наши зависимости Node.js:

sudo apt-get install npm

Шаг 2 - привязка Node.js к порту 80

Мы бы хотели, чтобы наше приложение было доступно через порт 80. По умолчанию приложения DocPad работают на порту 9778. На этом этапе мы свяжем Node.js с портом 80, а на более позднем этапе мы настроим наше приложение DocPad для работы также на порте 80. Таким образом, мы можем получить на нашем сайте, а не.

Чтобы привязать Node.js к порту 80, сначала убедитесь, что установлен:

sudo apt-get install libcap2-bin

На большинстве систем это уже установлено. Затем привяжите Node.js к порту 80:

sudo setcap cap_net_bind_service=+ep /usr/bin/nodejs

Позже в этом уроке мы настроим наше приложение DocPad на использование порта 80.

Шаг 3 - Установка DocPad

Далее мы будем использовать NPM для установки самого DocPad.

sudo npm install -g docpad

Очистите разрешения в домашнем каталоге пользователя * docpad *, так как мы использовали sudo для установки DocPad:

sudo chown -R docpad:docpad ~

Если вы выбрали другого пользователя для запуска DocPad, замените пользователя и группу на свое имя пользователя.

Шаг 4 - Создание приложения DocPad

В этом разделе мы настроим ваше приложение DocPad на сервере. Вы можете использовать существующий проект из репозитория Git или создать новое тестовое приложение с нуля.

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

mkdir ~/
cd ~/

[[step-4a-– downloading-existing-docpad-application-and-its-dependencies]] ==== Шаг 4а - Загрузка существующего приложения DocPad и его зависимостей

Если у вас есть приложение DocPad, выполните следующие действия, чтобы развернуть его на своем сервере. Во-первых, нам нужно скачать законченное приложение из репозитория Git:

git clone

Далее нам нужно загрузить все зависимости нашего приложения DocPad:

npm install

Если ваше приложение также использует компоненты Bower, запустите:

bower install

Шаг 4b - Создание нового приложения DocPad

Если у вас еще нет приложения DocPad, вы можете создать новое. В каталоге приложения инициализируйте новое приложение DocPad:

docpad run

Если вы впервые запускаете DocPad, ответьте на интересующие вопросы интерактивного диалога:

Before we continue, have you read and agree to DocPad's Terms of Service (http://bevry.me/tos) and Privacy Policy (http://bevry.me/privacy)? [Y/n]

Would you like to subscribe to our newsletter and stay up to date with the latest releases and tutorials? [Y/n]

Затем нам будет предложено выбрать каркас, с помощью которого мы будем строить наше приложение. Давайте выберем + Twitter Bootstrap + (опция + 4 +), так как он создает пример веб-сайта для нас, и мы сразу можем увидеть что-то, что работает в браузере.

Теперь подождите несколько минут, пока DocPad создаст и запустит ваше приложение. Вы должны увидеть эти выходные данные в конце успешного развертывания:

info: Installed the skeleton succesfully
notice: Shutting down the global DocPad, and starting up the local
info: Welcome to DocPad v6.63.8 (local installation: /home/docpad/docpad_test/node_modules/docpad)
info: Contribute: http://docpad.org/docs/contribute
info: Plugins: cleanurls, coffeescript, downloader, eco, less, livereload, marked, partials, related, stylus, text
info: Environment: development
info: DocPad listening to http://0.0.0.0:9778/ on directory /home/docpad/docpad_test/out
info: LiveReload listening to new socket on channel /docpad-livereload
info: Generating...
info: Generated 168/173 files in 15.012 seconds
info: Watching setup starting...
info: Watching setup
info: The action completed successfully

Процесс будет продолжаться в окне вашего терминала.

Теперь посетите ваш IP-адрес или домен в порту 9778:

  • + HTTP: //example.com: 9778 +

Вы должны увидеть домашнюю страницу DocPad по умолчанию:

изображение: https: //assets.digitalocean.com/articles/docpad_ubuntu/1.png [домашняя страница DocPad по умолчанию]

Мы обновим приложение для запуска на порту 80 на следующем шаге, чтобы пользователям не нужно было указывать порт при посещении вашего домена.

Вы можете остановить сервер DocPad сейчас, нажав CTRL + C.

Если вы хотите просмотреть файлы с + ls + в каталоге приложения, вы должны увидеть следующие сгенерированные файлы и каталоги со скелетом Bootstrap:

docpad.coffee  LICENSE.md  node_modules  out  package.json  Procfile  README.md  src

Исходный код нашего приложения находится в.

Шаг 5 - Настройка DocPad для работы на порте 80

Вам нужно будет добавить следующую строку в ваш конфигурационный файл, чтобы DocPad запустил ваше приложение на порту 80. Сначала откройте файл для редактирования:

nano ~//docpad.coffee

Добавьте строку + port: 80 + в блоке + docpadConfig = {} +. Линия должна быть на первом уровне внутри блока. Вы можете добавить его в качестве первой строки после + docpadConfig = {+.

docpadConfig = {

. . .



. . .

}

Убедитесь, что вы находитесь в каталоге приложения. Запустите DocPad с помощью следующей команды. Если вы впервые запускаете DocPad на сервере, примите условия и убедитесь, что ваше приложение может работать:

./node_modules/docpad/bin/docpad run

После успешного запуска приложения вы сможете перейти к URL-адресу своего веб-сайта и просмотреть свой сайт в браузере.

Если вы не можете найти его, попробуйте перейти к. Если вы видите это там, это потому, что ваш порт не был правильно настроен в вашем файле + docpad.coffee +. Порт должен быть указан на первом уровне объекта + docpadConfig +.

Теперь завершите процесс, нажав Ctrl + C. В следующем разделе мы сделаем приложение сервисом, вместо того чтобы каждый раз запускать его из командной строки.

Шаг 6 - Запуск DocPad как службы с Upstart

На этом последнем шаге мы создадим скрипт Upstart для приложения DocPad. Это позволит вам запустить запуск, остановку, перезагрузку и т. Д. Команды для приложения из командной строки. Он будет работать в фоновом режиме вашего сервера, поэтому вам не нужно будет держать SSH-соединение открытым. Мы также настроим систему для автоматического перезапуска приложения в случае его сбоя или перезагрузки сервера.

Создайте скрипт Upstart:

sudo nano /etc/init/.conf

Добавьте следующее содержание:

description ""

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

# If the process quits unexpectedly trigger a respawn
respawn

env HOME=/home//
chdir /home//

setuid
setgid

exec /home//node_modules/docpad/bin/docpad run
  • + description +: введите описание для этой услуги

  • + env HOME +: домашний каталог вашего пользователя DocPad

  • + chdir +: корневой каталог приложения

  • + setuid + и + setgid +: ваш пользователь DocPad (группа должна иметь одинаковое имя)

  • + exec +: полный путь к версии DocPad, которую мы хотим запустить; это то же самое, что команда, которую мы использовали для запуска приложения ранее, за исключением того, что она использует полный путь

Для получения дополнительной информации об Upstart см. Https://www.digitalocean.com/community/tutorials/the-upstart-event-system-what-it-is-and-how-to-use-it[thsite].

Запустите ваше приложение из командной строки. Если вы назвали файл чем-то отличным от + .conf +, вы должны использовать соответствующее имя службы:

sudo service  start

Подождите около 30 секунд, пока ваше приложение DocPad сгенерирует; это время будет варьироваться в зависимости от размера вашего приложения и займет примерно столько же времени, сколько когда вы запускали его вручную с помощью +. / node_modules / docpad / bin / docpad run +.

Через несколько секунд перейдите к своему домену или IP-адресу в браузере. Вы должны увидеть ваш сайт, созданный DocPad.

Вы все сделали! Если вы хотите, введите + sudo reboot + на ваш сервер и убедитесь, что приложение автоматически запускается.

Заключение

Теперь вы сможете создавать новое приложение DocPad или клонировать существующее, развертывать его на своем сервере Ubuntu и иметь возможность посещать его в своем домене.

Чтобы начать создавать свой сайт с помощью DocPad, см. Https://docpad.org/docs/intro[documentation].

Related