На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Предложения для ГИС-сервер linux (CentOS 7)

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » ГИС Сервер
Страницы: 1
RSS
Предложения для ГИС-сервер linux (CentOS 7), Предложения для ГИС-сервер linux (CentOS 7)
 

1. Добавить пакеты php php-xml php-mbstring httpd в блок «Зависимости» (при текущей установке они автоматически не устанавливаются, соответственно GISAdminstrator не работает).

 

2. Может перейти на systemd

Добавить файл gsservice.service в каталог /usr/lib/systemd/system/ или /etc/systemd/system

Код
# Systemd unit file for gisserver
[Unit]
Description=gisserver application
After=syslog.target network.target

[Service]
Type=forking

Environment=piddir=/usr/gisserver/temp/
Environment=pidfile=/usr/gisserver/temp/gsservice.pid

ExecStart=/usr/gisserver/gsservice.sh
ExecStop=/bin/kill -15 $MAINPID

User=root
Group=root
UMask=0007
RestartSec=5
Restart=always

[Install]
WantedBy=multi-user.target

Скопировать файл gsservice.sh в каталог /usr/gisserver/ и добавить ему права выполнения (chmod +x имя файла)

Код
#!/bin/bash
CURRENTPATH=/usr/gisserver
export LD_LIBRARY_PATH=$CURRENTPATH:$LD_LIBRARY_PATH

/usr/gisserver/gsservice.exe &

 if [ ! -z "$pidfile" ]; then
    echo $! > "$pidfile"
 fi    

 if [ ! -z "$pidfile" ]; then #проверка аргумента камандной строки
    if [ -f "$pidfile" ]; then #проверка наличия файла по указанному пути
      if [ -s "$pidfile" ]; then #если ненулевой размер файла
        kill -0 `cat "$pidfile"` >/dev/null 2>&1
        if [ $? -gt 0 ]; then # 
          echo "pidfile found but no matching process was found. Stop aborted."
          exit 1
        fi
      else
        echo "pidfile is empty and has been ignored."
      fi
    else
   mkdir -p $piddir
   touch $pidfile
        echo " $pidfile was set but the pidfile does not exist. Stop aborted."
      exit 1
    fi
  fi

Перезагрузить демон systemd:

Код
systemctl daemon-reload 
Все вешеописанное можно сделать при установке rpm

После чего служба gsservice управляется через systemctl:

Код
systemctl start (stop status enable disable) gsservice

В случае падения службы она автоматически перезапускается через время указанное в файле gsservice.service параметр «RestartSec=5»

Соответственно не нужны:

в каталоге /usr/gisserver/ - enable_autorun.sh, disable_autorun.sh gsservice.bat gsscheck.bat

в каталоге /etc/init.d – gsservice

в каталогах /etc/rc.d/* - все ссылки на /etc/init.d/gsservice

 

3. библиотеки в /usr/gisserver/ сделать ссыками

libQtCore.so, libQtCore.so.4, libQtCore.so.4.8 сделать ссыками на libQtCore.so.4.8.7

libQtGui.so, libQtGui.so.4, libQtGui.so.4.8 сделать ссыками на libQtGui.so.4.8.7

4. Возможно ли выводить данные в лог-файл в иных кодировках (utf8) хотябы через какой либо параметр в gisserver.xml

5. И всетаки  возможно ли добавить в лог имя пользователя (под которым пользователь зарегистрировался на ГИС-сервере). Напрмер:

Код
12:28:11   [005] User1@comp. Connection with a server is close.
 

 
Предложения прекрасные!

1. Добавим.
2. Переход на systemd не рационален. Много целевых платформ не поддерживают его (только CentOS умеет). Спасибо за представленные скрипты, возможно придумаем как их использовать.
3. Конечно, будут ссылки.
4. Вывод сообщений в лог выполняется на английском языке. Остались только пути. Подумаем. По поводу указания кодировки - мне кажется излишне.
5. Тоже подумаем, вроде это было бы логично.
 
Задумался надо добавлением зависимостей.
Указывать Apache мне кажется не правильно, вдруг кто захочет в nginx, придется тогда nodeps запускать, что как-то не правильно.
 
nginx-у для обработки php все равно необходим backend, которым может выступать либо apache, либо php-fpm. nginx ведь обрабатывает только статику.

Согласен, возможно apache включать и не стоит, но тогда в документации необходимо прописать, что нужно устанавливать дополнительно.
 
Цитата
4. Вывод сообщений в лог выполняется на английском языке. Остались  только пути. Подумаем. По поводу указания кодировки - мне кажется  излишне.

При использовании директорий и слоев с русскими символами получается от лога нет практически никакого смысла в основном он нечитаем.
CentOS7 вывод locale:
Код
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Вывод лога:
Код
     09:52:51   [001] Open map. Name = ��������.map
     09:52:51   [001] [01] Open map. Path = /GISS/Map/��������/��������.map
     09:52:51   [001] [01] Open map. Rsc = /GISS/Map/��������/500T03W.RSC

Открытие файла лога в windows:

Код
     09:52:51   [001] Open map. Name = рпдмпцлб.map //должно быть ПОДЛОЖКА.map
     09:52:51   [001] [01] Open map. Path = /GISS/Map/ПОДЛОЖКА/ПОДЛОЖКА.map
     09:52:51   [001] [01] Open map. Rsc = /GISS/Map/ПОДЛОЖКА/500T03W.RSC

Я имел  ввиду включить в ГИС-сервер параметр, который отвечал бы за кодировку в которой выводится информация log-файл, что-бы не получались такие вещи как показано выше.

log.jpg (98.93 КБ)
Изменено: alex - 28.08.2017 15:39:14
 
Я вашу позицию понял и полностью согласен.
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности