Blynk сервер

blynk

Всем еще раз привет!
В продолжении первой части, в которой я обещал продолжить настройку Blynk сервера, решил сделать короткую заметку о подключении к Blynk базе данных PostgreSQL.
Как и в первой части установка и настройка будет происходить в среде FreeBSD12.0, предполагается, что Blynk доступен по пути /usr/local/etc/blynk/server-0.41.2-java8.jar

Устанавливаем нужные нам пакаджи:

# pkg install postgresql96-server-9.6.11_2 postgresql96-contrib-9.6.11_2

Даем  PostgreSQL разрешение на запуск:

# echo 'postgresql_enable="YES"' >> /etc/rc.conf

Создаем рабочую директорию для  PostgreSQL  (у меня автоматом не создалось) и устанавливаем разрешения:

# mkdir /var/db/postgres/data96
# chown postgres /var/db/postgres/data96/

Инициализируем и запускаем PostgreSQL:

# /usr/local/etc/rc.d/postgresql initdb
# /usr/local/etc/rc.d/postgresql start

Скачиваем две схемы для баз данных:

# wget --no-check-certificate https://raw.githubusercontent.com/blynkkk/blynk-server/master/server/core/src/main/resources/create_schema.sql -O /tmp/create_schema.sql
# wget --no-check-certificate https://raw.githubusercontent.com/blynkkk/blynk-server/master/server/core/src/main/resources/reporting_schema.sql -O /tmp/reporting_schema.sql

Авторизуемся пользователем postgres и запускаем cl-интерфейс postgres (т.к. под рутом по-умолчанию запрещено коннектится с базой):

# su - postgres
# psql

Либо, если установлено sudo, то:

# sudo -u postgres psql

Делаем импорт из sql схем:

\i /tmp/create_schema.sql
\i /tmp/reporting_schema.sql

Выходим из psql и из шелла пользователя (если заходили через su):

\q
ctrl+d

Останавливаем Blynk сервер:

#  ps auxw | grep java
root      726   0,0  4,1 2208084 124344  -  Is   17:47     0:42,63 /usr/local/openjdk8/bin/java -jar /usr/local/etc/blynk/server-0.41.2-java8.jar -dataFolder /usr/local/etc/blynk/data
root     1114   0,0  0,1   11444   2672  0  S+   19:20     0:00,00 grep java
root@test:/usr/home/vino # kill 726

Создаем конфигурационный файл сервера:

# vi /usr/local/etc/blynk/server.properties
initial.energy=100000
allow.reading.widget.without.active.app=false
user.message.quota.limit=100
logs.folder=/usr/local/etc/blynk/logs
user.dashboard.max.limit=100
lcd.strings.pool.size=6
server.ssl.key=
webhooks.response.size.limit=96
hardware.mqtt.port=8440
table.rows.pool.size=100
terminal.strings.pool.size=25
admin.email=blynk@blynk.ru
admin.rootPath=/admin
user.widget.max.size.limit=20
listen.address=
blocking.processor.thread.pool.limit=6
stats.print.worker.period=60000
enable.db=true
force.port.80.for.csv=false
enable.raw.db.data.store=true
restore.host=blynk-cloud.com
csv.export.data.points.max=43200
restore=false
user.profile.max.size=128
allow.store.ip=true
allowed.administrator.ips=0.0.0.0/0,::/0
net.interface=eth
webhooks.frequency.user.quota.limit=1000
http.port=8080
web.request.max.size=524288
user.devices.limit=50
async.logger.ring.buffer.size=2048
user.tags.limit=100
server.ssl.key.pass=
admin.pass=password
hard.socket.idle.timeout=10
product.name=Blynk
data.folder=/usr/local/etc/blynk/data
map.strings.pool.size=25
profile.save.worker.period=60000
https.port=9443
log.level=info
server.ssl.cert=
force.port.80.for.redirect=true
notifications.queue.limit=2000
notifications.frequency.user.quota.limit=5

В котором для подключения к базе данных отвечают две строки:

enable.db=true
enable.raw.db.data.store=true

Запускаем Blynk:

# java -jar /usr/local/etc/blynk/server-0.41.2-java8.jar -dataFolder /usr/local/etc/blynk/data

Просматриваем postgres.log:

less /usr/local/etc/blynk/logs/postgres.log

Если в выхлопе видим похожее на это:

19:59:24.682 - DB url : jdbc:postgresql://localhost:5432/blynk?tcpKeepAlive=true&socketTimeout=150
19:59:24.682 - DB user : test
19:59:24.682 - Connecting to DB...
19:59:24.961 - Connected to database successfully.
19:59:24.962 - Reporting DB url : jdbc:postgresql://localhost:5432/blynk_reporting?tcpKeepAlive=true&socketTimeout=150
19:59:24.963 - Reporting DB user : test
19:59:24.963 - Connecting to reporting DB...
19:59:24.975 - Connected to reporting database successfully.

То мы настроили связку Blynk и posgreSQL.
До встречи!

 

Рейтинг
( 1 оценка, среднее 1 из 5 )
Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. Ivan

    Спасибо за статью. Нужна ли база данных чтобы хранить статистику для SuperChart на локальном сервере (там разные настройки — 15 мин, полчаса, час, и т.д. вплоть до года-двух)?
    Или это для чего-то еще?

    1. Vladimir (автор)

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

Добавить комментарий

:) :D :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.