Как на сервер установить программу

В каждом проекте мы обычно храним все данные либо во внутренней памяти браузера, либо в текстовых файлах на компьютере или на сервере. Это хорошо работает в простых проектах, когда нужно запомнить несколько десятков строк или чисел. Но в полноценных проектах, где обрабатываются сотни и тысячи записей, так почти никто не делает — вместо этого программисты используют базы данных.

Сегодня мы сделаем первый шаг на этом пути — установим на сервер базу данных MySQL и убедимся, что она работает.

Что понадобится

Чтобы всё получилось, нам будут нужны:

  • свой виртуальный сервер;
  • настроенный доступ к серверу через SSH;
  • место на диске для установки базы данных.

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

Необходимый минимум для связи с сервером

Чтобы сервером можно было управлять со своего домашнего компьютера, нам понадобится настроить SSH — программу для безопасной связи между компьютерами по сети. Так как почти все серверы в интернете работают на линуксе без графической оболочки, команды для управления будем вводить в терминале (или командной строке, кому какое название больше нравится).

#инструкция — Как установить программу на удаленный сервер

Перед тем как продолжить, проверяем, что у нас работает доступ к серверу по SSH:

Как установить базу данных на сервер и начать с ней работать

Базу данных необязательно устанавливать на сервер — на домашнем компьютере она тоже будет работать. Самый простой способ это сделать — поставить виртуальную машину с Ubuntu и установить базу там. Единственный минус — удалённо поработать с такой базой будет сложно, но для тренировки и изучения SQL-запросов этого хватит.

Проверяем, есть ли база данных на сервере

Некоторые виртуальные серверы уже идут в комплекте с установленной базой данных MySQL, и в этом случае ничего дополнительно устанавливать не придётся. Проверить, если ли MySQL на сервере, можно командой mysql -V :

Как установить базу данных на сервер и начать с ней работать

Сервер ответил, что не знает этой команды, — это значит, что база MySQL не установлена.

Дальше мы будем использовать команды установщика для Ubuntu, потому что именно эта операционная система стоит на нашем сервере. Если у вас другая версия линукса, замените наши команды установки apt install на свои.

Читайте также:
Открыть exe на Андроид программа

Устанавливаем базу данных

Установим сразу и серверную, и клиентскую части базы данных MySQL. Серверная отвечает за обработку и хранение данных, а клиентская — за отправку запросов на сервер. Теоретически можно было бы обойтись одной серверной частью, но мы ставим клиентскую, чтобы сразу получить возможность отправлять запросы в базу и видеть результат.

Как установить программу на сервер ?

Для установки обеих частей выполним команду apt install mysql-server mysql-client . Сервер соберёт данные об установке и скажет, что ему понадобится около 250 мегабайт на диске — для установки нужно будет ввести английскую букву «y» и нажать энтер:

Как установить базу данных на сервер и начать с ней работать

Когда установка закончится, снова проверим, знает ли сервер о том, что у него теперь есть MySQL, командой mysql -V :

Как установить базу данных на сервер и начать с ней работать

Сервер ответил, что у нас установлена версия 8.0.29, — это значит, что мы всё сделали правильно.

Создаём новую базу

Последнее, что нам осталось сделать, — создать новую базу данных.

Все команды в MySQL называются запросами и пишутся внутри её собственной командной строки. Для перехода в неё пишем команду mysql -u root:

Как установить базу данных на сервер и начать с ней работать

У нас поменялся внешний вид приветствия в командной строке: вместо имени пользователя и текущей папки мы видим строку mysql> — это значит, что мы сейчас общаемся с базой данных и она готова принимать и выполнять команды.Создадим новую базу с названием thecodeDB командой CREATE DATABASE:

Как установить базу данных на сервер и начать с ней работать

Обратите внимание на точку с запятой в конце команды — без неё база данных не поймёт, что запрос закончился, и будет ждать продолжения:

Как установить базу данных на сервер и начать с ней работать

Убедимся, что база создана, — выполним команду SHOW DATABASES;

Как установить базу данных на сервер и начать с ней работать

Как установить программу на сервер в интернете

Программа Тирика-Магазин предусматривает несколько способов удаленной работы, то есть такой работы, когда разные пользователи программы работают за компьютерами, находящимися на значительном (от единиц до тысяч километров) расстоянии друг от друга. В этой статье мы опишем один из этих многочисленных способов.

Как вы, наверное, знаете, программа Тирика-Магазин умеет работать в компьютерной сети, то есть в ситуации, когда несколько компьютеров подключены к единому серверу, на котором находится база данных программы. Если при этом программа на компьютере №1 сделает продажу, эта продажа будет сохранена в этой самой единой базе данных, и пользователь за компьютером №2 немедленно увидит ее на своем экране.

Локальная сеть, как правило, прокладывается на расстояния в единицы метров. Что делать, если нужно соединить компьютеры, отстоящие друг от друга на десятки (или тысячи) километров?

Оказывается, с программой Тирика-Магазин это возможно. Один из наших пользователей настроил программу таким образом и любезно согласился дать пошаговые рекомендации по настройке.

Читайте также:
Написать программу при выполнении которой с клавиатуры считывается

ВАЖНО!
Текст ниже важен и интересен тем, что написан теми людьми, которые реально настраивали удаленную работу программы через сервер в интернете. К сожалению, их вариант настройки программы очень небезопасен:

1. Не изменен пароль на доступ к базе данных на сервере в интернете
Злоумышленник, зная IP-адрес сервера, может подключиться к этой базе данных и получить оттуда финансовую информацию компании, а также что-нибудь там испортить; пользовательский пароль, который программа запрашивает у вас при подключении к базе данных, не является достаточной защитой ваших данных. О том, как изменить пароль доступа к базе данных, написано тут

2. Не используется программа шифрования траффика
Злоумышленник, имея возможность перехватывать траффик между вашими компьютерами и сервером в интернете, сможет получить доступ к вашей финансовой информации. О том, как защититься от этой опасности, написано тут.

3. Есть отрицательные отзывы
Другой пользователь программы, настроивший работу программы согласно этой статьи, получил настолько низкое качество связи и скорость работы программы, что был вынужден отказаться от этого (настроенного и оплаченного) варианта и оплатить настройку взаимодействия своих компьютеров другим способом

Источник: www.tirika.ru

Как развернуть Java+MySQL (Docker) за полчаса и не уронить сервер

MySQL и Java-приложение (docker)

В качестве среды исполнения Java-приложений обычно используются серверы, у которых минимум 2 Гб оперативной памяти (не считая выделенной под ОС). Рассмотрим вариант запуска Java-приложения с базой данных MySQL на VDS-сервере «Danny» от Timeweb (1 Гб ОЗУ) без получения хорошо известной каждому «джависту» ошибки «Out of memory». Весь процесс от регистрации до запуска работающего Java-приложения с базой данных займет не более 15 минут!

Первым делом создаем VDS.

Выбираем конфигурацию ПО сервера – в нашем случае ОС Ubuntu (можно любую другую из предложенных) и «Docker».

Выбираем конфигурацию сервера «Danny» (2.8 ГГц CPU, 1Гб ОЗУ, 10Гб дискового пространства), которая является на момент написания статьи самым бюджетным вариантом.

Итак, мы создали сервер с установленным ПО «Docker».

Теперь нам необходима среда исполнения для нашего Java-приложения. Думали, дальше будет «оченьмноготекста» по установке и настройке Apache Tomcat? Нет. Думаю, на просторах интернета предостаточно материалов на данную тему, поэтому, чтобы не тратить время на полную установку Apache Tomcat, мы используем spring boot с embedded tomcat.

Далее нам необходима установленная версия Java для запуска приложения. Но мы, все по тем же причинам в духе «у меня нет времени, клиенты ждут работающий сайт еще до того как придумали Java как можно скорее», не будем устанавливать Java. Мы создадим docker-образ с нашим Java-приложением на основе docker-образа с уже установленной Java Runtime Environment 11 (JRE-11). Также такой подход делает наше приложение максимально портативным и хорошо масштабируемым.

Читайте также:
Как научиться программе excel

Создаем простейший Dockerfile:

В данном файле описаны:

  1. Родительский docker-образ.
  2. Копирование в docker-образ нашего приложения demo-1.0.war.
  3. Установка рабочей директории «/usr/app».
  4. Публикация порта 8080.
  5. Команда, которая выполнится при запуске docker-контейнера.

Собираем docker-образ с помощью команды docker build и публикуем в своем репозитории.

Для разворачивания БД MySQL будем использовать официальный docker-образ «mysql:8.0.21».

Таким образом, у нас имеется:

  1. Docker-образ нашего Java-приложения.
  2. Docker-образ MySQL БД.

Теперь заходим удаленно (например, через Putty) на созданный VDS. С помощью команды docker pull загружаем docker-образы:

docker pull username/demo:1.0 docker pull mysql:8.0.21

Вместо username необходимо написать свой docker-аккаунт.

Теперь запускаем docker-контейнеры (предварительно заменив some_name_mysql/some_password_mysql/some_name_java/username на свои значения):

docker run -p 3306:3306 —name some_name_mysql -e MYSQL_ROOT_PASSWORD=some_password_mysql -d mysql:8.0.21 docker run -p 8181:8080 —name some_name_java -d username/demo:1.0

Проверяем (IP-адрес берем из панели управления сервером):

Ура! Работает! Но где же «java.lang.OutOfMemoryError: Java heap space»?

Приведу скриншот показателей загрузки, полученных командой htop:

Для большей практической ценности показатели взяты с сервера, на котором установлено функционирующее боевое приложение (достаточно небольшое, но все же активно используемое). Как видите, суммарное потребление оперативной памяти превышает 1Гб, хотя на старте приложения это значение было ~800Мб. Повышение потребления ОЗУ в ходе эксплуатации произошло в связи с созданием множества необходимых объектов и постоянным хранением их в памяти в целях оптимизации. Все это приводило к достижению лимита heap size и ошибке «Out of memory». Решение, как вы видите, состоит в подключении swap-пространства. Для этого выполните набор следующих команд:

sudo fallocate -l 1G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile sudo cp /etc/fstab /etc/fstab.bak echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

Подведем итог. Мы получили работающее Java-приложение с базой данных MySQL на сервере Danny менее чем за 30 минут! И никаких непредвиденных «OutOfMemory».

Стоит добавить, что самое лучшее решение с точки зрения оптимизации – повышение конфигурации сервера до «Scarlett», на котором и дискового пространства в 3 раза больше (30Гб), и ОЗУ в 2 раза больше (2Гб), чего должно хватить для большинства небольших проектов.

Но с целью апробации услуг VDS, предоставляемых компанией Timeweb, временное решение, описанное в данной статье, более чем актуально даже для владельцев крупных enterprise-приложений (при необходимости можно увеличить размер swap-файла).

Источник: timeweb.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru