Java server for linux

How to Make a Server in Java in 5 Easy Steps

Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.

Everyone likes the idea of reducing their workload when possible, yet the need to perform basic functionality arises almost constantly. Often, developers end up doing a lot of work for what seems like little return, especially when it comes to basic web design. You don’t need a full-fledged web server to perform quick checks for things like connectivity or to ensure basic functionality. This is where Java 18’s newfound web functionality comes into play. Java 18 sets up and configures a basic Java web server you can use for simple tasks. It only takes a matter of minutes, rather than hours, and it’s a pretty straightforward process. This guide demonstrates how to work with Java 18’s web functionality to create a server in Java. It also covers how to use the jwebserver command line tool.

Before You Begin

  1. If you have not already done so, create a Linode account and Compute Instance. See our Getting Started with Linode and Creating a Compute Instance guides.
  2. Follow our Setting Up and Securing a Compute Instance guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access.

This guide is written for a non-root user. Commands that require elevated privileges are prefixed with sudo . If you’re not familiar with the sudo command, see the Users and Groups guide.

Getting Started with Java 18 (and above)

Java 18 and above have much to offer in the way of web functionality. The following sections provide an overview of Java 18 web functionality used for Java web hosting at the developer level. A detailed look at the jwebserver command line tool is also provided.

A Quick Overview of Java 18

Java 18 has new functionality that makes it easier to create, test, debug, and simulate a Java API server, among other things. Java 18 also includes features like a vector API, previews pattern matching for switch expressions, and UTF-8 as the default character set. There are many advances in server-side programming when working with Java 18. In fact, there are nine major new features that you need to know about as a developer to create a better server:

  • It deprecates Finalizer for removal in a future release to reduce security, performance, reliability, and maintainability issues.
  • It defines Stateful Packet Inspection (SPI) for Internet address resolution to better enable Project Loom, concurrency, new programming models, network protocols, customization, and testing.
  • It provides a preview of pattern matching for switch expressions and statements (something that was originally previewed in Java 17, but enhanced in this release).
  • It reimplements lang.reflect.Method , Constructor , and Field on top of java.lang.invoke method handles.
  • It offers an out-of-the-box static Java HTTP file server with easy setup and minimal functionality.
  • It formalizes a second iteration of the foreign function and memory API, which allows Java program interoperation with code and data outside the Java runtime.
  • It creates a method to express vector computations that compile at runtime using the vector API originally introduced in Java 16 and updated in Java 17.
  • It uses UTF-8 (the web’s standard charset) to make web server data encoding easier and reduce the potential for applications behaving incorrectly when they use a different default charset.
  • It introduces the @snippet tag for JavaDoc’s Standard Doclet to simplify the inclusion of sample code in the API documentation.
Читайте также:  Linux get users info

Understanding the Java 18 Features for Web Development

jwebserver reproduces the developer-grade web servers provided in languages like Python, Ruby, PHP, and Erlang. This is a basic web server, and the documentation tells you a lot about its limitations. On the upside, not stated in the documentation is that the simplicity of the web server doesn’t affect the operating systems or its features. It’s entirely possible to perform various setups and configurations that normally require a lot of time using the operating system and third party tools. Think of this server as something to use in a simulation, for demonstration purposes, or for tasks such as simulating an API. For example, a development team can use this web server to share files or create documentation.

Considering jwebserver Limitations

The web server included with Java 18 provides a simple activation server that developers can use to serve static files. These files must all appear in a single directory, but this isn’t a problem for the web server’s intended purpose. As described in JEP408, the purpose is to develop a minimal web server that a developer can interact with using an API that allows customization. The jwebserver doesn’t replace commercial-grade web servers, such as Jetty, Netty, and Grizzly. Nor production-grade web servers, such as Apache Tomcat, Apache httpd, and NGINX. It does provide a functional option that allows developers to avoid installing and configuring full-fledged web servers just so they can get to work. The web server itself doesn’t provide security features, such as authentication, access control, or encryption. The idea here is to save time developing a full-fledged server. This allows the developer to perform testing, debugging, and development without a lot of effort.

Читайте также:  Show listen ports linux

How to Make a Server in Java

These steps walk you through the process of installing Java 18, accessing the jwebserver command line utility, and performing specific tasks using jwebserver and its associated components. It extends these basic principles to perform tasks like providing Java web hosting and performing server-side programming in Java, with less fuss than ever.

Step 1: Install Java 18

These steps show how to install the Oracle Java Development Kit (JDK) 18 on an Ubuntu 22.04 LTS system. They also work with other versions of Linux.

Источник

Установка и базовая настройка Tomcat на Linux Ubuntu Server

Обновлено и опубликовано

Опубликовано: 10.02.2021

Tomcat на Ubuntu не устанавливается из репозитория (в отличие от некоторых других дистрибутивов Linux, например, CentOS). Поэтому в данной инструкции мы выполним ручную установку — развертывание дополнительных компонентов (Java), загрузку и распаковку пакета веб-сервера Tomcat, а также настройку его автоматического запуска в случае сбоя или после перезагрузки системы. На момент обновления инструкции использовался Tomcat версии 10 и Ubuntu 20.04.

Подготовка системы

* где Europe/Moscow — московское время. Список всех возможных зон смотрим командой timedatectl list-timezones. Устанавливаем сервис для автоматической синхронизации времени, а также разрешаем его автозапуск:

* 8080 — порт по умолчанию, на котором работает Tomcat. Если мы заходим поменять данный порт, то нужно будет открыть именно его. Сохраняем правила — для этого устанавливаем утилиту iptables-persistent:

Подготовка к установке

Установка JAVA

* будет установлена последняя версия, максимально совместимая с используемой версией операционной системы Ubuntu. Если в системе окажется несколько версий java, выберем последнюю. Для этого вводим команду:

openjdk version «14.0.2» 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 14.0.2+12-Ubuntu-120.04, mixed mode, sharing)

Создание пользователя

  • -U — также будет создана группа с таким же именем, что и пользователь.
  • -s /bin/false — запрещает пользователю интерактивный вход в систему.
  • -d /opt/tomcat — указывает путь до домашней директории пользователя.
  • -m — сразу создает домашнюю директорию пользователю.

Можно приступать к установке веб-сервера Apache Tomcat.

Установка Tomcat

Переходим на страницу официального сайта веб-сервера. В меню слева выбираем необходимую версию Tomcat:

Переходим на страницу загрузки последней версии Tomcat

* на момент обновления статьи, последняя версия была 10.

Копируем ссылку на архив tar.gz:

Копируем ссылку на архив tar.gz с веб-сервером

Используя скопированную ссылку, скачиваем архив на наш сервер:

Распаковываем содержимое архива в каталог /opt/tomcat:

tar zxvf apache-tomcat-*.tar.gz -C /opt/tomcat —strip-components 1

Готово. Можно запустить сервер командой:

Открываем браузер и переходим на страницу http://:8080 — мы должны увидеть стартовую страницу Tomcat:

Стартовая страница Tomcat Server

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

java -cp /opt/tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo

Мы должны увидеть что-то на подобие:

Server version: Apache Tomcat/10.0.2
Server built: Jan 28 2021 18:48:46 UTC
Server number: 10.0.2.0
OS Name: Linux
OS Version: 5.4.0-26-generic
Architecture: amd64
JVM Version: 14.0.2+12-Ubuntu-120.04
JVM Vendor: Private Build

Читайте также:  Boot linux in rescue mode

Настройка автозапуска

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

Для начала, остановим работу Tomcat:

Поменяем владельца для всех файлов в каталоге /opt/tomcat:

chown -R tomcat:tomcat /opt/tomcat

Создадим конфигурационный файл для нового юнита:

[Unit]
Description=Apache Tomcat Server
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=»JAVA_HOME=/usr/lib/jvm/default-java»
Environment=»JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true»
Environment=»CATALINA_BASE=/opt/tomcat»
Environment=»CATALINA_HOME=/opt/tomcat»
Environment=»CATALINA_PID=/opt/tomcat/temp/tomcat.pid»
Environment=»CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC»
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
RestartSec=10

  • User/Group — пользователь и группа пользователя, от чьего имени будет работать сервис.
  • Environment — переменные окружения. В нашем примере задается несколько для нормальной работы Java и Tomcat.
  • ExecStart/ExecStop — пути к скриптам, которые запускают или останавливают работу службы веб-сервера.
  • Restart/RestartSec — задают поведение сервиса при необходимости выполнить перезапуск. В нашем примере выполнять при сбое с интервалом в 10 секунд.

Из данных опций, возможно вам захочется поменять CATALINA_OPTS, например, задать другие значения для выделения памяти или указать определенный порт. Остальные опции можно оставить.

Перечитываем новый конфигурационный файл в systemd:

Проверяем, что он запустился и работает:

Мы должны увидеть что-то на подобие:

• tomcat.service — Apache Tomcat Server
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2021-02-09 10:30:25 UTC; 22h ago
Main PID: 14645 (java)

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

Теперь открываем нашу страницу по IP-адресу сервера — мы снова должны увидеть стартовую страницу Tomcat.

Доступ к Managing Tomcat

Мы можем использовать веб-интерфейс для управления Tomcat. Для этого используются кнопки на стартовой странице:

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

Создание служебного пользователя

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

Внутрь раздела tomcat-users добавим:

* в данном примере мы создадим пользователя admin с паролем password и ролями admin-gui, manager-gui.

Server Status и Manager App

Разделы позволяют получить доступ к статистике и управлению веб-приложениями. Они настраиваются вместе.

. и добавляем IP-адрес компьютера, с которого будем подключаться, например:

* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к статистике сервера и управлению веб-приложениями.

Пробуем зайти на стартовую страницу и перейти в раздел Server Status:

Server Status на стартовой странице Tomcat Server

Браузер запросит логин и пароль — вводим созданные ранее данные (admin и password). Мы должны увидеть статистику.

Теперь переходим в раздел Manager App:

Manager App на стартовой странице Tomcat Server

Мы должны увидеть раздел «Управление веб-приложениями Tomcat».

Host-Manager

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

. и добавляем IP-адрес компьютера, с которого будем подключаться, например:

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

Пробуем зайти на стартовую страницу и перейти в раздел Host Manager:

Host Manager на стартовой странице Tomcat Server

Мы должны увидеть раздел «Управление виртуальными серверами Tomcat».

Поменять порт

По умолчанию, Tomcat запускается на порту 8080. Чтобы сменить номер, открываем файл:

Источник

Оцените статью
Adblock
detector