Установка Java на VDS/VPS или Dedicated Server (Для Linux/Deiban/Ubuntu)

Руководство Установка Java на VDS/VPS или Dedicated Server (Для Linux/Deiban/Ubuntu)

Поддерживаемые версии
  1. Отсутствует
В этом туториале будет

• Какие версии Java существуют
• Как узнать свою версию джавы
• Как установить Java
• Как установить несколько версий
• Как запустить ядро сервера на версии джавы выше чем оно поддерживает



Какие вообще существуют типы?

Поговорим в общем и целом про JVM, JRE и JDK. Разберём что это и с чем едят.
JVM (сокр. от англ. «Java Virtual Machine») - это виртуальная/абстрактная машина, которая позволяет компьютеру запускать и выполнять Java-программы.
При запуске Java-программы, компилятор Java (javac) компилирует исходный Java-код в промежуточное представление — платформенно-независимый байт-код. Затем виртуальная машина Java (JVM) читает полученный байт-код и переводит его в нативный, платформенно-зависимый машинный код (набор инструкций), который в дальнейшем напрямую выполняется центральным процессором — CPU.
JVM также может выполнять (интерпретировать) программы написанные на различных языках программирования, но скомпилированные в Java байт-код.
Существует множество реализаций JVM (а также JRE и JDK) для разных аппаратных и программных платформ, поскольку конфигурации у разных ОС — разные.
JRE (сокр. от англ. «Java Runtime Environment») — среда выполнения Java; набор программного обеспечения, необходимый для исполнения Java-приложений, который обязательно включает в себя реализацию JVM и библиотеки Java-классов (Стандартную библиотеку Java), а также может содержать другие компоненты. JRE предназначена для того, чтобы запускать программы на Java, но не разрабатывать их (JRE не включает в себя компилятор, а лишь исполняет предварительно скомпилированный Java байт-код посредством реализации JVM).
JDK (сокр. от англ. «Java Development Kit») — это набор программных инструментов, необходимых для разработки Java-приложений. При скачивании JDK, автоматически загружается и JRE (а значит, и JVM). В JDK, помимо JRE, также содержится ряд инструментов разработки — компиляторы, отладчики, JavaDoc и т.д.
JVM, JRE и JDK являются платформенно-зависимыми, поскольку конфигурации разных ОС — разные.
Язык Java является платформенно-независимым, так как Java-приложение, скомпилированное однажды, может выполняться на любом устройстве, на котором установлено JRE с соответствующими зависимостями.
JDK является надмножеством над JRE, а JRE — надмножеством над JVM.
Реализации JVM обеспечивают выполнение (интерпретацию) байт-кода Java.



Как узнать версию?

Тут всё очень просто! Просто заходим в консоль и пишем команду java -version
(На момент создания статьи новейшая версия джавы - 21)



Как установить?

Давайте не спеша и по порядку приступил к выполнению пунктов для установки Java!

1. Обновим пакеты
apt-get update

2. Теперь устанавливаем Java (Заменяем слово <ВЕРСИЯ> на желаемую версию Java)
sudo apt install openjdk-ВЕРСИЯ-jdk -y
3. Что делать если появилось непонятные окошки
Screenshot_40.png
Screenshot_41.png
Просто жмите Enter



Как-же установить несколько версий?

Для начало давайте разберём зачем это вообще может понадобиться. Представим ситуацию что у вас есть машина (vds/vps/dedic) и у вас есть мини игры на 1.8, выживание на 1.20, анархия на 1.16 и прокси. Разные версии майнкрафта могут требовать разные версии Java! И не всегда получается установить последнюю версию для всех серверов, как например с 1.16 (она запускается максимально на версии Java16 (Про то как запустить на других версиях будет дальше)). Так давайте разберём как-же установить несколько версий Java на разные команды запуска!
1. Обновим пакеты
apt-get update

2. Теперь устанавливаем Java 8
sudo apt install openjdk-8-jdk -y

3. И теперь задаём команду запуска java8
ln -svf путь-к-джаве/bin/java /usr/bin/java8
(Если вы скачивали джаву через команду apt install open-jdk-ВЕРСИЯ-jds, то скорее всего путь к вашей джаве /usr/lib/jvm/версия-джавы/)
Если путь к вашей джаве /usr/lib/jvm/ то вот пример команды для бинда джавы 8 к команду java8
ln /usr/lib/jvm/java-8-openjdk-amd64/bin/java /usr/bin/java8
1. Обновим пакеты
apt-get update

2. Теперь устанавливаем Java 16
sudo apt install openjdk-16-jdk -y

3. И теперь задаём команду запуска java8
ln -svf путь-к-джаве/bin/java /usr/bin/java16
(Если вы скачивали джаву через команду apt install open-jdk-ВЕРСИЯ-jds, то скорее всего путь к вашей джаве /usr/lib/jvm/версия-джавы/)
Если путь к вашей джаве /usr/lib/jvm/ то вот пример команды для бинда 16й джавы к команду java16
ln /usr/lib/jvm/java-16-openjdk-amd64/bin/java /usr/bin/java16
1. Обновим пакеты
apt-get update

2. Теперь устанавливаем Java 17
sudo apt install openjdk-17-jdk -y

3. И теперь задаём команду запуска java17
ln -svf путь-к-джаве/bin/java /usr/bin/java17
(Если вы скачивали джаву через команду apt install open-jdk-ВЕРСИЯ-jds, то скорее всего путь к вашей джаве /usr/lib/jvm/версия-джавы/)
Если путь к вашей джаве /usr/lib/jvm/ то вот пример команды для бинда 17й джавы к команду java17
ln /usr/lib/jvm/java-17-openjdk-amd64/bin/java /usr/bin/java17
1. Обновим пакеты
apt-get update

2. Теперь устанавливаем Java 21
sudo apt install openjdk-21-jdk -y

3. И теперь задаём команду запуска java21
ln -svf путь-к-джаве/bin/java /usr/bin/java21
(Если вы скачивали джаву через команду apt install open-jdk-ВЕРСИЯ-jds, то скорее всего путь к вашей джаве /usr/lib/jvm/версия-джавы/)
Если путь к вашей джаве /usr/lib/jvm/ то вот пример команды для бинда 21й джавы к команду java21
ln /usr/lib/jvm/java-21-openjdk-amd64/bin/java /usr/bin/java21

И так после того как мы установили джаву мы можем пыдать каждой джаве свою команду запуска! Чтобы начать её использовать заходит в файл запуска сервера (start.sh) и там меняем java на вашу команду!
Screenshot_42.png

Если вы больше не полуетесь созданной командой и хотите её удалить, используйте
sudo rm /usr/bin/вашаКоманда
sudo rm /usr/bin/java16



Как запустить например майнкрафт 1.8 на Java 21?

Вы так-же можете запустить любую версию майнкрафта на версии Java ваше чем поддерживается. Тоесть например 1.12.2 на Java 16-17 и выше или майнкрафт 1.16.5 на Java 17

Версии майнкрафта и Java которые они поддерживают
Minecraft 1.8 – 1.12​
Java 8​
Minecraft 1.13 – 1.16.4​
Java 11​
Minecraft 1.16.5 – 1.17.1​
Java 16​
Minecraft 1.18 и новее​
Java 17​

А теперь объясню для чего нужно запускать сервер на версии Java выше чем он поддерживает если вы не знаете. Например мы скачиваем последнюю версию DeluxeMenus на наш сервер 1.12.2, но вот не зада для него необходима версия Java не ниже 11! Но если постараться запустить 1.12.2 на 11 джаве то вылазит ошибка! Вот для таких ситуаций нам и нужно запускаться с версий выше допустимой!

Теперь объясню как это делать! Заходим в наш файл запуска сервера start.sh (или у вас этот файл может называться по другому) и теперь вписываем туда дополнительный флаг
-DPaper.IgnoreJavaVersion=true
Код:
#!/bin/bash

java -Xms4096M -Xmx4096M --add-modules=jdk.incubator.vector -XX:+UseG1GC
-XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true
-XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=20 -DPaper.IgnoreJavaVersion=true -jar server.jar --nogui



Конец

Если вам понравилась статься пожалуйста поставьте оценку! Для вас это всего пару кликов, а автору гора эмоций! Так-же если вы нашли ошибки в статье, не поняли что-то или считаете что чего-то не хватает то не стесняйтесь писать это в коментарии!!!
Автор
NoSlowD0wn
Просмотры
1,126
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя NoSlowD0wn

Поделиться ресурсом

Последние обновления

  1. Версия - 1.2

    Исправлено еще несколько ошибок и так-же теперь текст еще более читабелен! А так-же благодаря...
  2. Версия - 1.1

    Фикс небольших ошибок, а так-же читаемости статьи
Назад
Сверху Снизу