menu

Aвторизация

Авторизация

geoserver на CentOS 7

Поиск  Правила  Войти
Форум ЕГРН клуба » Клуб разработчиков ПО для взаимодействия с ЕГРН » ПКК ГИС и др
Страницы: 1
Ответить
RSS
geoserver на CentOS 7, Запуск как сервера
 
Предварительно качаем и устанавливаем OpenJDK инструкций в инете уйма.
Качаем сам геосервер с оф сайта. Я создал пользователя geoserver и распаковал геосервер в домашний каталог.
В корне каталога геосервера есть файл start.ini где можно сконфигурировать сам геосервер, например я изменил номер порта
Код
jetty.port=60000
Не забываем открыть порт в FirewallD.
Далее необходимо создать файл .profile в каталоге ~/ (домашнем), в этом файле должна быть ссылка на расположение геосервера

Код
export GEOSERVER_HOME=/home/geoserver/geoserver-2.14.1

Далее нам надо создать файлы:- /etc/sysconfig/geoserver - файл с переменными окружения, нужными для запуска java приложения- /etc/systemd/system/geoserver.service - systemd unit для запуска сервера, там же описан пользователь из под которого запускается сервис, ограничение на использование оперативной памяти, этап запуска и прочая информация
- Ручной запуск systemctl start geoserver
- Ручной останов systemctl stop geoserver
- Вкл/Выкл запуска при старте системы systemctl disable geoserver
Более подробная информация по использованию менеджера инициализации в справке по systemd, перепечатывать ее тут смысла особого нет.


Содержание /etc/sysconfig/geoserver
Код
USER=geoserver

JAVA_HOME=/usr
JAVA_OPTS="-Xms128m -Xmx512m"

GEOSERVER_HOME="/home/${USER}/geoserver-2.14.1/"
GEOSERVER_DATA_DIR="$GEOSERVER_HOME/data_dir"
Содержание /etc/systemd/system/geoserver.service
Код
[Unit]
Description=The GeoServer 
ServiceAfter=network.target remote-fs.target nss-lookup.target
[Service]
EnvironmentFile=/etc/sysconfig/geoserver
User=geoserver
ExecStart=/usr/bin/geosrv -a -c "source /etc/sysconfig/geoserver && exec ${GEOSERVER_HOME}/bin/startup.sh"
ExecStop=/usr/bin/geosrv -a -c "source /etc/sysconfig/geoserver && exec ${GEOSERVER_HOME}/bin/shutdown.sh"

MemoryLimit=14G
MemoryMax=14G
MemoryAccounting=yes

#Restart=on-failure
#RestartSec=5

[Install]
WantedBy=multi-user.target


Еще один нюанс, совсем забыл нужно создать символическую ссылку на bash в /usr/bin/geosrv ( ln -s $(which bash) /usr/bin/geosrv ) - это нужно для того, что бы выхлоп с java приложения в syslog'е/journalctl'е высвечивался под unit'ом geosrv, а не от bash, для удобства поиска и структурирования ошибок в логе. Создаем символическую ссылку на bash -
Код
ln -s $(which bash) /usr/bin/geosrv
Теперь обновляем конфигурацию
Код
systemctl daemon-reload
Запускаем геосервер
Код
systemctl start geoserver
Проверяем статус
Код
systemctl status geoserver.service
Если все ок, заходим и любуемся через браузер.
Изменено: Алексей Рябов - 1 окт 2020 00:43:50 (исправил съехавшие строки юнита)
Страницы: 1
Ответить
Читают тему (гостей: 1)
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Загрузить файлы