# Развёртывание веб-приложения Node.js, Ruby, Python, Java на Джино
Для развертывания веб-приложения Node.js, Ruby, Python и Java мы предоставляем услугу «Поддержка веб-приложений». Её можно подключить на хостинг-контейнерах Джино. Хостинг-контейнер (opens new window) — это аккаунт виртуального хостинга с поддержкой интерпретаторов Node.js, Ruby, Python, Java. Для быстрого и удобного развёртывания веб-приложения вам будет предоставлен настроенный хостинг с веб-сервером, логированием, базой данных, FTP, SFTP и SSH.
# Создайте хостинг-контейнер
Примечание
Если вы планируете использовать уже существующий хостинг-контейнер, переходите к следующему шагу — привязке домена.
Для создания хостинг-контейнера зайдите в контрольную панель (opens new window) и нажмите «Создать новый контейнер».
Обратите внимание
Если вы создали новый аккаунт или ранее не пользовались нашим хостингом, при создании хостинг-контейнера у вас будет возможность выбрать деморежим. Вы сможете бесплатно пользоваться сервисом 10 дней. В течение этого времени работа хостинг-контейнера будет иметь ограничения — подробнее про ограничения деморежима читайте в этом разделе (opens new window). Вы можете переключиться в активный режим, не дожидаясь окончания деморежима. Для этого нужно пополнить баланс.
Можно использовать для хостинг-контейнера своё название. Рекомендуем для разных сайтов создавать отдельные хостинг-контейнеры. Поскольку нагрузка на сайты будет перераспределена между хостинг-контейнерами, а безопасность проектов будет выше.
Хостинг-контейнер готов к работе, теперь можно привязать к нему домен.
# Привяжите домен к хостинг-контейнеру
Обратите внимание
В деморежиме доступен только технический адрес. Для привязки собственного домена нужно переключиться в активный режим — пополнить баланс.
Вы можете подключать не только домен, но и поддомены, в том числе созданные в сторонних компаниях. Можно зарегистрировать (opens new window) новое доменное имя или привязать (opens new window) уже существующее. Для этого зайдите в нужный хостинг-контейнер и перейдите в раздел Доменыуправление доменами.
Выбранный домен добавится на страницу УправлениеНастройки веб-сервера. Здесь вы увидите папку, в которую домен направлен по умолчанию. Её можно изменить — для этого нажмите на имя папки. Здесь же вы можете выбрать интерпретатор и его версию.
Примечание
Технический адрес можно использовать для отладки и тестирования. Узнать его можно в разделе УправлениеНастройки веб-сервера. Для него вы также можете выбрать папку, интерпретатор и его версию.
# Подключите SSL-сертификат для домена или технического адреса
SSL-сертификат позволяет установить безопасное соединение с вашим сайтом. Вы можете подключить бесплатный сертификат Let's Encrypt. Выберите доменное имя в разделе Домены и перейдите на вкладку «SSL». Здесь вы можете выбрать бесплатный сертификат или любой другой, купленный в Джино.Магазине (opens new window).
# Настройте папку для хранения статики веб-приложения
В папке для хранения статики размещаются статические файлы — HTML, CSS, JavaScript, изображения и другие ресурсы, которые используются в веб-приложении и должны быть доступны напрямую через HTTP-запросы. Эти файлы не требуют обработки сервером и могут быть напрямую отданы клиенту без каких-либо изменений.
Например, HTML-файлы, содержащие разметку страниц, файлы CSS для стилей, JavaScript-файлы для клиентской логики, изображения, видео, аудио.
После подключения услуги «Поддержка веб-приложений» папка для статики появится в разделе УправлениеНастройки веб-сервера. Папка по умолчанию: domains/ваш_домен/public_html. Вы можете изменить папку в соответствии со структурой директорий вашего веб-приложения.
# Базы данных
Примечание
Если вы используете бессерверные базы данных, ничего подключать не нужно. Переходите к следующему пункту инструкции.
На хостинг-контейнерах предоставляется поддержка локальных баз данных MySQL. При создании хостинг-контейнера, в том числе в демо-режиме, MySQL подключается автоматически. Вы можете изменить объем данных MySQL от 30 до 80 Гб и количество баз от 100 до 500.
Для управления услугой MySQL зайдите в контрольную панель Джино.Хостинга (opens new window), нажмите на нужный контейнер и перейдите в раздел Услуги. В пункте «Базы данных» подключите MySQL или измените объем или количество базы данных.
Данные для подключения к БД вы найдёте в разделе УправлениеУправление MySQL. Здесь можно создавать базы, пользователей для них, менять пароль и настройки для доступа по IP.
Получить данные можно в разделе УправлениеТехническая информация. Пароль для пользователей задаётся в настройках «Управление / Управление MySQL». Выберите имя пользователя и задайте пароль.
Обратите внимание
По умолчанию пароль для пользователей совпадает с паролем от панели управления. Советуем его сменить, так как в случае взлома сайта злоумышленники смогут получить к нему доступ (он хранится в файлах с настройками сайта).
Подробную инструкцию по работе с БД читайте в этом разделе (opens new window).
# Загружайте файлы веб-приложения на хостинг-контейнер
Для загрузки файлов на хостинг контейнер можно использовать SFTP\FTPS или SSH. Использовать FTP без шифрования небезопасно — пароль могут украсть злоумышленники. Поэтому данной функцией допустимо пользоваться только в тех случаях, когда нет альтернативных способов загрузки файлов на хостинг-контейнер.
# Загрузка файлов по SFTP/FTPS
Краткое описание FTPS или SFTP:
FTPS — это расширение протокола FTP (File Transfer Protocol) для защищённого соединения с сервером с использованием протоколов SSL или TLS. Он позволяет передавать файлы по шифрованному соединению. На Джино используется новая версия FTPS — FTPES (FTP over Explicit SSL/TLS). При подключении к серверу по протоколу FTPES порт остается стандартным (21). Минус этого способа загрузки — нельзя использовать ssh-ключ для авторизации.
SFTP — это протокол передачи файлов, являющийся расширением протокола SSH (Secure Shell). Он обеспечивает безопасное соединение между клиентом и сервером. При этом используется шифрование данных и аутентификация с помощью ключей SSH. В отличие от FTPS, SFTP не связан с протоколом FTP и использует отдельный порт для передачи файлов и выполнения операций на удалённом сервере (2222). Вы можете использовать ssh-ключ для авторизации, в этом случае пароль не нужен. Именно данный протокол мы рекомендуем использовать как бесплатную альтернативу SSH.
Если вы остановились на SFTP и хотите вместо пароля использовать SSH-ключ, читайте инструкцию по его созданию в этом разделе.
Пользователь для подключения по SFTP\FTPS создается автоматически. Возможность загрузки файлов будет доступна после создания хостинг-контейнера в деморежиме и в полном режиме. Инструкцию по настройке FTP-клиентов читайте в этом разделе (opens new window). Пароль для доступа к FTP совпадает c паролем для входа в панель Джино. Узнать настройки FTP можно в разделе УправлениеТехническая информация. Поменять пароль можно в любой момент после создания хостинг-контейнера.
Для доступа также можно создавать отдельных пользователей, ограниченных определённой директорией. Подробную информацию по работе FTP читайте в этом разделе (opens new window).
# Загрузка файлов по SSH
Для загрузки по SSH у вас должна быть подключена услуга «Поддержка SSH (opens new window)», а ваш текущий IP должен быть указан в списке разрешенных в контрольной панели в разделе УправлениеНастройки SSH. Также вы можете просто выключить ограничение по IP.
Для соединения с сервером из ОС Windows необходима специальная программа — SSH-клиент. Наиболее распространенный клиент под Windows на данный момент — PuTTY (opens new window). Пользователи Linux и MacOS для этого могут использовать стандартный терминал своей системы (команда ssh логин@логин.myjino.ru). Узнать свой технический домен можно в разделе настроек хостинг-контейнера УправлениеТехническая информация.
Параметры подключения следующие:
- Имя сервера (Host Name в PuTTY): ваш_домен или логин.myjino.ru или 123xyz.hosting.myjino.ru;
- Порт: по умолчанию (22);
- Логин: ваш логин на Джино;
- Пароль: по умолчанию такой же, как для доступа в контрольную панель. Мы рекомендуем изменить его в разделе УправлениеНастройки SSH.
Если ваши файлы кодированы в UTF-8, то в настройках клиента нужно указать именно эту кодировку. Также сразу после подключения необходимо выполнить в терминале следующую команду:
LANG=ru_RU.utf8
Чтобы данная команда выполнялась автоматически при каждом подключении, эту строку можно добавить в файл .bash_profile, находящийся в корне аккаунта.
# Запуск HelloWorld-приложений
Обратите внимание
После внесения изменений в скрипты нужно обязательно перезагрузить веб-сервер в разделе Сводка либо в разделе УправлениеНастройки веб-сервера. Для перезагрузки нажмите соотвествующую кнопку, которая появляется при наведении курсора мыши на строку с доменом.
# Пример запуска HelloWorld-приложений на Python
Для запуска простого приложения на Python создайте в домашней папке вашего сайта файл passenger_wsgi.py с таким содержимым:
import sys
def application(environ, start_response):
start_response('200 OK', [('Content-type', 'text/plain')])
return [b"Hello, World!"]
Также можете ознакомиться с подробными инструкциями по работе веб-приложений Python, которые находятся в этом разделе.
# Пример запуска HelloWorld-приложений на Node.js
Для запуска простого приложения на Node.js создайте в домашней папке вашего сайта файл app.js с таким содержимым:
const http = require('http')
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'})
res.end('Hello, World!')
}).listen()
# Пример запуска HelloWorld-приложений на Ruby
Для запуска простого приложения на Ruby создайте в домашней папке вашего сайта файл Создайте файл config.ru с таким содержимым:
class App
def call(env)
headers = {
'Content-Type' => 'text/html'
}
response = ['Hello, World!']
[200, headers, response]
end
end
run App.new
# Пример запуска HelloWorld-приложений на Java
Для примера возьмём простейшее приложение на фреймворке Spring Boot, созданное по этой инструкции (opens new window):
Создайте проект с помощью Spring Initializr (opens new window) (выберите версию Java 20), создайте файлы
GreetingController.java
иgreeting.html
, как описано в инструкции, и соберите jar-файл.В контрольной панели Джино перейдите в хостинг-контейнер и для нужного домена выберите интерпретатор GLS (Generic Language Support). Запомните значение «Домашней папки» для этого домена.
Перейдите в раздел «Файловый менеджер» и загрузите в домашнюю папку домена получившийся jar-файл. Переименуйте его в
application.jar
.В той же папке создайте файл
start.sh
с правами 0755 и таким содержимым:
#!/bin/bash
exec java -jar application.jar --server.port=$PORT --server.tomcat.threads.max=50
Здесь $PORT
— это переменная окружения, в ней хранится номер порта, на котором приложение должно запустить веб-сервер. Нам необходимо передать это значение в приложение, и в случае со Spring Boot мы используем для этого параметр --server.port
. Для других приложений способ передачи может отличаться.
Параметром --server.tomcat.threads.max
мы задаём максимальное количество потоков, которое может создать веб-сервер, потому что на хостинге это значение ограничено.
- Перейдите в браузере по адресу
http://ваш_домен/greeting
. Если всё сделано правильно, на открывшейся странице появится сообщение «Hello, World!»
# Описание особенностей работы CGI и SSI на хостинге Джино
Описание особенностей работы CGI и SSI на хостинге Джино читайте в этом разделе (opens new window)