These are chat archives for synrc/n2o

5th
May 2017
221V
@221V
May 05 2017 07:57

перечитываю https://medium.com/@m2k/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-nginx-cowboy-erlang-a99c8c284fe
и все-равно не понимаю что надо сделать с портами для spa

в случае если у меня на сервере спереди nginx, то в статических поменял

<script>var transition = {pid: '', host: 'localhost', port:'8000'};</script>

на

<script>var transition = {pid: '', port:'443'};</script>

конфиг nginx
https://gist.github.com/221V/b6f2af3110a91ea3d2b743d16252d603

https://chat.4dev.win/static/spa/login.htm
тут получаю 404 (в консоли когда соединение ws вроде должно установить), что я делаю не так?

еще вопрос - в n2o_document.erl есть строчка

wf:script(["var transition = {pid: '", wf:pickle(Pid), "', ",
                "port:'", wf:to_list(wf:config(n2o,websocket_port,wf:config(n2o,port,8000))),"'}"]),

этот порт мне тоже поменять надо?

в review.erl есть тоже порт

port()   -> [ { port, wf:config(n2o,port,8000)  } ].

поменять, закомментить(в статье же нету) - все то же в результате

Egor
@madmake
May 05 2017 09:16
sys.config {websocket_port,443}
221V
@221V
May 05 2017 09:17

в sys.config

{n2o, [{port,4070},{websocket_port,443},

уже есть

Egor
@madmake
May 05 2017 09:19
Ну и nginx еще раз глянь должно быть
location /ws/ {
            proxy_pass http://127.0.0.1:4070;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
221V
@221V
May 05 2017 09:21
вот так есть
location /ws {
      access_log off;

      proxy_pass http://127.0.0.1:4070;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_read_timeout 86400s;
      proxy_send_timeout 86400s;

      proxy_set_header HOST $host;
      proxy_set_header  X-Real-IP  $remote_addr;
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header  Host $http_host;
    }
Egor
@madmake
May 05 2017 09:24
Ну и в верху
221V
@221V
May 05 2017 09:25

https://chat.4dev.win/ работает,
https://chat.4dev.win/static/spa/login.htm не работает (там в косольку 404 сиплется при попытке ws)

и стучится по https://chat.4dev.win/ws/static/spa/login.htm

Ну и в верху

тоесть надо не

location /ws {

а

location /ws/ {

?

ща попробую

Egor
@madmake
May 05 2017 09:32

хм, я так понимаю он стучит в

https://chat.4dev.win/ws/static/spa/login.htm

а должен

https://chat.4dev.win/static/spa/login.htm/ws

покажи что у тебя в роутере, ну и на крайнйк поиграйся с https://chat.4dev.win/n2o/n2o.js

221V
@221V
May 05 2017 09:36
https://github.com/synrc/n2o/blob/master/samples/apps/review/src/routes.erl
вот этот, я ничего не трогал там
221V
@221V
May 05 2017 09:57

что-то я потерялся

сделал вывод в консоль с n2o.js

console.log(protocol + host + (port==""?"":":"+port) + "/ws" + querystring);

в функции N2O_start

на странице
https://chat.4dev.win
wss://chat.4dev.win:443/ws/

https://chat.4dev.win/index.htm?room=777
wss://chat.4dev.win:443/ws/index.htm?room=777

а тут не работает - 404
https://chat.4dev.win/static/spa/login.htm
wss://chat.4dev.win:443/ws/static/spa/login.htm

Egor
@madmake
May 05 2017 10:03

Ну правильно

route(_) -> login.

это грубо говоря заглушка вместо 404 он кидает на главную точнее логин...
а в статик/спа/индекс он тащит статику...

221V
@221V
May 05 2017 10:09
@5HT говорил что демо рабочее :smile:
обьясните пожалуйста чего демо не хватает до рабочего состояния?
221V
@221V
May 05 2017 10:16

ладно, мой плохой английский и дока на английском - гугл переводчик помог + тут в чате спрашивал,
нету списка функций модуля wf с обьяснениями -- функции можно подсмотреть в коде, потыкать, понять как-то и самому составить описание,

но как тогда этот роутер работает?

route(<<"static/spa/login",_/binary>>) -> login;

это вроде должно работать когда стучат по
https://chat.4dev.win/static/spa/login.htm
wss://chat.4dev.win:443/ws/static/spa/login.htm
?
или я не так все понял

221V
@221V
May 05 2017 10:32

в упор не понимаю почему на
https://chat.4dev.win/index.htm?room=777 ---вебсокет 101
а на https://chat.4dev.win/static/spa/login.htm ---вебсокет 404

что делать?

Egor
@madmake
May 05 2017 10:34
Я понимаю так в static лежит статика, туда же аплодят файлы и оттуда их раздают, а вот нахуя писат в роут статик спа индекс........
забит к ебеням
закоментируй эти две чтрочки со спа
221V
@221V
May 05 2017 10:40
все осталось как было

в общем я не могу понять как сделать самое маленькое spa с изменением текста по клику на кнопке

и тормоза у меня не на кнопке, тормоза не в том как отдать статику с помощью nginx (тут все понятно), тормоза в том - как с этой статической странички подсодиниться к серверу и как там розрулить запрос (думаю, последнее - как разрулить - пойму когда еще и еще раз доку перечитаю, но как быть с подключением к серверу?)

Egor
@madmake
May 05 2017 10:52
давай в личку что бы не засерать канал....
Namdak Tonpa
@5HT
May 05 2017 13:05
вы должны понимать что SPA и модуль n2o_document
не имею между собой ничего общего :-)
в документации про это написано
Andy
@m-2k
May 05 2017 15:52
мда
напиши если через час не получится
221V
@221V
May 05 2017 19:08
я решил переставить и сейчас получаю
-bash: ./mad: Permission denied
221V
@221V
May 05 2017 19:20
с тем разобрался, сейчас там новая ошибка, при загрузке-компиляции
==> "nitro"
Compiling /deps/nitro/src/nitro.erl
Line 2: error {include,lib,"n2o/include/n2o.hrl"} in "/deps/nitro/src/nitro.erl"
Line 171: error {undefined_record,cx} in "/deps/nitro/src/nitro.erl"
ERROR: []
escript: exception error: no function clause matching
                 lists:flatten({return,{return,[{error,[]}]}}) (lists.erl, line 616)
  in function  mad:main/1 (/Users/5HT/depot/synrc/mad/src/mad.erl, line 17)
  in call from escript:run/2 (escript.erl, line 760)
  in call from escript:start/1 (escript.erl, line 277)
  in call from init:start_em/1
  in call from init:do_boot/3
Namdak Tonpa
@5HT
May 05 2017 19:23
nitro из мастера нерабочий, он толко для 4.5
надо nitro 2.4 брать в
в n2o/samples — 2.4
ты какой пример компилируешь?
221V
@221V
May 05 2017 19:33
понял, ошибся
пример тот самый, только скачанный с гитхаба архив не тот узял, узял старый
спасибо