Flussonic

Запуск 2-х flussonic-ов на одном сервере


#1

Необходимо запустить 2 флюссоника на одном сервере. Есть необходимое количество лицензий.
Пытаюсь делать по инструкции
Запускаю flussonic командой

/opt/flussonic/bin/flussonic -n flussonic2@127.0.0.1 -c /opt/flussonic/vtk-22/flussonic.conf -k flussonic2 -l /var/log/flussonic2 -s /opt/flussonic/vtk-22/server.id -p /var/run/flussonic2/pid

В результате вижу в консоли запуск сервера. В логах - пытается взять поток из конфига. Слуашет нужные поры. НО, я не могу зайти в админку - получаю error 500, с вот такой ошибкой в логе

2019-05-26 10:53:17.874 <0.745.0> ((error)) Error in process <0.745.0> on node ‘flussonic2@127.0.0.1’ with exit value:, {[{reason,{badmatch,{error,enoent}}},{mfa,{api_handler,handle,2}},{stacktrace,[{api_handler,handle,2,[{file,“apps/web/src/api_handler.erl”},{line,519}]},{cowboy_handler,handler_handle,4,[{file,“lib/cowboy/src/cowboy_handler.erl”},{line,110}]},{cowboy_protocol,execute,4,[{file,“lib/cowboy/src/cowboy_protocol.erl”},{line,458}]}]},{req,[{socket,#Port<0.38>},{transport,ranch_tcp},{connection,keepalive},{pid,<0.745.0>},{method,<<“GET”>>},{version,‘HTTP/1.1’},{peer,{{11,22,33,44},59252}},{host,<<“1.2.3.4”>>},{host_info,undefined},{port,89},{path,<<"/admin/">>},{path_info,[]},{qs,<<>>},{qs_vals,undefined},{bindings,[]},{headers,[{<<“host”>>,<<“1.2.3.4:89”>>},{<<“connection”>>,<<“keep-alive”>>},{<<“pragma”>>,<<“no-cache”>>},{<<“cache-control”>>,<<“no-cache”>>},{<<“upgrade-insecure-requests”>>,<<“1”>>},{<<“user-agent”>>,<<“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 OPR/60.0.3255.95”>>},{<<“dnt”>>,<<“1”>>},{<<“accept”>>,<<“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8”>>},{<<“accept-encoding”>>,<<“gzip, deflate”>>},{<<“accept-language”>>,<<“ru,uk;q=0.9,en;q=0.8,en-US;q=0.7”>>},{<<“cookie”>>,<<“SLG_G_WPT_TO=ru; SLG_GWPT_Show_Hide_tmp=1; SLG_wptGlobTipTmp=1; fluadmin=ZmxhZG1pbjoyM2tmdXJmdXI=”>>}]},{p_headers,[{<<“connection”>>,[<<“keep-alive”>>]}]},{cookies,undefined},{meta,[{peer_ip,<<“11.22.33.44”>>},{user_device,undefined}]},{body_state,waiting},{buffer,<<>>},{multipart,undefined},{resp_compress,false},{resp_state,waiting},{resp_headers,[{<<“server”>>,<<“Flussonic”>>}]},{resp_body,<<>>},{onresponse,fun flu_www:capitalize_hook/4}]},{state,{adminpage3,{api,<<“Basic YWRtaW46cDIzZTBqNDM4dQ==”>>,undefined,undefined,undefined}}}],[{cowboy_handler,handler_handle,4,[{file,“lib/cowboy/src/cowboy_handler.erl”},{line,117}]},{cowboy_protocol,execute,4,[{file,“lib/cowboy/src/cowboy_protocol.erl”},{line,458}]}]}
2019-05-26 10:53:17.874 <0.490.0> ((error)) Ranch listener {flu,http,undefined,89,inet4} had connection process started with cowboy_protocol:start_link/4 at <0.745.0> exit with reason: {[{reason,{badmatch,{error,enoent}}},{mfa,{api_handler,handle,2}},{stacktrace,[{api_handler,handle,2,[{file,“apps/web/src/api_handler.erl”},{line,519}]},{cowboy_handler,handler_handle,4,[{file,“lib/cowboy/src/cowboy_handler.erl”},{line,110}]},{cowboy_protocol,execute,4,[{file,“lib/cowboy/src/cowboy_protocol.erl”},{line,458}]}]},{req,[{socket,#Port<0.38>},{transport,ranch_tcp},{connection,keepalive},{pid,<0.745.0>},{method,<<“GET”>>},{version,‘HTTP/1.1’},{peer,{{11,22,33,44},59252}},{host,<<“1.2.3.4”>>},{host_info,undefined},{port,89},{path,<<"/admin/">>},{path_info,[]},{qs,<<>>},{qs_vals,undefined},{bindings,[]},{headers,[{<<“host”>>,<<“1.2.3.4:89”>>},{<<“connection”>>,<<“keep-alive”>>},{<<“pragma”>>,<<“no-cache”>>},{<<“cache-control”>>,<<“no-cache”>>},{<<“upgrade-insecure-requests”>>,<<“1”>>},{<<“user-agent”>>,<<“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 OPR/60.0.3255.95”>>},{<<“dnt”>>,<<“1”>>},{<<“accept”>>,<<“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8”>>},{<<“accept-encoding”>>,<<“gzip, deflate”>>},{<<“accept-language”>>,<<“ru,uk;q=0.9,en;q=0.8,en-US;q=0.7”>>},{<<“cookie”>>,<<“SLG_G_WPT_TO=ru; SLG_GWPT_Show_Hide_tmp=1; SLG_wptGlobTipTmp=1; fluadmin=ZmxhZG1pbjoyM2tmdXJmdXI=”>>}]},{p_headers,[{<<“connection”>>,[<<“keep-alive”>>]}]},{cookies,undefined},{meta,[{peer_ip,<<“212.80.53.172”>>},{user_device,undefined}]},{body_state,waiting},{buffer,<<>>},{multipart,undefined},{resp_compress,false},{resp_state,waiting},{resp_headers,[{<<“server”>>,<<“Flussonic”>>}]},{resp_body,<<>>},{onresponse,fun flu_www:capitalize_hook/4}]},{state,{adminpage3,{api,<<“Basic YWRtaW46cDIzZTBqNDM4dQ==”>>,undefined,undefined,undefined}}}],[{cowboy_handler,handler_handle,4,[{file,“lib/cowboy/src/cowboy_handler.erl”},{line,117}]},{cowboy_protocol,execute,4,[{file,“lib/cowboy/src/cowboy_protocol.erl”},{line,458}]}]}

Традиционный вопрос - ЧЯДНТ?


#2

Традиционный вопрос — зачем?


#3

надо к одному из флюссоников предоставить доступ 3-ей стороне.
Размещать на 2-х серверах 2 флюссоника накладно с точки зрения нагрузки на сеть.
В общем - действительно надо :frowning:
Инструкция не сильно помогла…


#4

Перейдите в директорию /opt/flussonic прежде чем выполнять основную команду:

cd /opt/flussonic/
/opt/flussonic/bin/flussonic -n flussonic2@127.0.0.1 -c /opt/flussonic/vtk-22/flussonic.conf -k flussonic2 -l /var/log/flussonic2 -s /opt/flussonic/vtk-22/server.id -p /var/run/flussonic2/pid

Но под вашу задачу, пожалуй, лучше подойдет виртуализация или контейнеры, чтобы изолировать файловые системы и ресурсы ПК.


#5

Спасибо, как ни странно это помогло.
Хотя до этого явно передавал все пути в строке запуска. А вот перейти в каталог с флюссоником не подумал (странно от серверного софта ожидать поиска по относительным путям, ну да ладно).
Виртуализация не подходит по причине того, что мне надо шарить мощности на сервере.
Контейнер по идеологии docker (один процесс на контейнер) не заработал, а зоопарк с supervisor мне не очень понравился. Надо будет проверить стабильность работы 2-х флюссоников, возможно я опять вернусь к идее с контейнером.