Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

нужна помощь с socket.io #3

Open
staskur opened this issue Jul 23, 2019 · 6 comments
Open

нужна помощь с socket.io #3

staskur opened this issue Jul 23, 2019 · 6 comments

Comments

@staskur
Copy link

staskur commented Jul 23, 2019

Дело было вечером, делать было нечего....

Установил данный дистрибутив на Apache/2.4.39 (FreeBSD) OpenSSL/1.0.2o-freebsd PHP/7.2.18

сначала было все ожидаемо плохо уже на этапе установки,
но за выходной исправил работу с базой через mysqli, несоответствия числа аргументов в вызовах функций, относительные пути к function.inc.php (все это пришлось резко освоить за несколько часов, т.к. делал все это в первый раз)

В итоге скрипт установки прошел ОК, вывалилось окно авторизации для входа в систему, ну и дальше все как в описании системы работает, заявки создаются и обрабатываются, новости публикуются, посты об идеях пишутся, отчеты формируются.

В логах апача остались только notice о необъявленных переменных, что терпимо.

Не получается настроить работу с socket.io. и ощутить "интерактивность"
(никаких настроек для него в конфиге апача не делал, т.к. пока не знаю какие нужно, а до выходного еще далеко)

─┬ socket.io@2.2.0
│ ├── debug@4.1.1 extraneous
│ ├── engine.io@3.3.2 extraneous
│ ├── has-binary2@1.0.3 extraneous
│ ├── socket.io-adapter@1.1.1 extraneous
│ ├── socket.io-client@2.2.0 extraneous
│ └── socket.io-parser@3.3.0 extraneous

в логе апача много

"GET /socket.io/?EIO=3&transport=polling&t=1563353224861-4552 HTTP/1.1" 404 208 "http://********************************/zenlix/dashboard" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
Сам server.js работает

pm2 show server
Describing process with id 0 - name server
┌───────────────────┬────────────────────────────────────────┐
│ status │ online │
│ name │ server │
│ version │ N/A │
│ restarts │ 0 │
│ uptime │ 12h │
│ script path │ /usr/local/www/zenlix/nodejs/server.js │
│ script args │ N/A │
│ error log path │ /root/.pm2/logs/server-error.log │
│ out log path │ /root/.pm2/logs/server-out.log │
│ pid path │ /root/.pm2/pids/server-0.pid │
│ interpreter │ node │
│ interpreter args │ N/A │
│ script id │ 0 │
│ exec cwd │ /usr/local/www/zenlix/nodejs │
│ exec mode │ fork_mode │
│ node.js version │ 12.4.0 │
│ node env │ N/A │
│ watch & reload │ ✘ │
│ unstable restarts │ 0 │
│ created at │ 2019-07-23T05:31:33.075Z

запущенный процесс с портом 3001 есть

sockstat | grep node
root node 90874 0 stream -> ??
root node 90874 1 stream -> ??
root node 90874 2 stream -> ??
root node 90874 3 stream -> ??
root node 90874 23 tcp46 *:3001 :
root node 90874 24 tcp4 127.0.0.1:53945 127.0.0.1:3306
root node 76673 0 stream (not connected)
root node 76673 21 stream /root/.pm2/pub.sock
root node 76673 22 stream /root/.pm2/rpc.sock
root node 76673 26 stream -> ??
root node 76673 28 stream -> ??
root node 76673 30 stream -> ??
root node 76673 32 stream -> ??

Подскажите, как можно в шелле проверить работу socket.io , ну и вообще пинки в нужном направлении приветствуются, а то хочется заявленную интерактивность ощутить )) .

@yaroslavsnisarua
Copy link
Contributor

Дело было вечером, делать было нечего....

Установил данный дистрибутив на Apache/2.4.39 (FreeBSD) OpenSSL/1.0.2o-freebsd PHP/7.2.18

Подскажите, как можно в шелле проверить работу socket.io , ну и вообще пинки в нужном направлении приветствуются, а то хочется заявленную интерактивность ощутить )) .

Это фантастика, что у Вас это работает на PHP/7.2.18. Подтвердите если это так :)

По socket.io - так как продукт не обновлялся более 5 лет, большая вероятность что модули и версии не поддерживают старую реализацию микросервиса.

Если всё-таки nodejs работает и слушает порт, посмотрите именно на стороне apache - проксирование на порт nodejs 3001.

Для nginx это так:

location /socket.io {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_pass http://127.0.0.1:3001/socket.io/;
  }

Сделайте по аналогии но для apache. Как вариант - посмотрите VM (https://github.com/ZENLIX/ZENLIX-2/tree/master/VM ) там есть для FreeBSD.

А ещё - рекомендуем всё-таки https://ru.zenlix.com - ZENLIX 3.x - это уже совсем другой продукт, на Laravel 5.5. Если заинтересует - сделаем обязательно скидку!

@staskur
Copy link
Author

staskur commented Jul 24, 2019

Ну да, я ставил на

/usr/home/adm # php -v
PHP 7.2.18 (cli) (built: May 16 2019 01:24:32) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.18, Copyright (c) 1999-2018, by Zend Technologies

база на mysql 5.6.44

а почему фантастика ?

там всего три вида проблем нужно устранить

  1. работу с базой перевести с mysql на mysqli
    тут не заморачивался выискиванием строк и мест, тупо скриптом весь каталог дистрибутива прогнал с заменой функций.

  2. седьмой php более жестко относится к наличию всех аргументов при вызове функций.
    если в 5 можно было вызвать функцию с описанной кучей аргументов не передавая ей полностью их все, то в 7 для обработки такой ситуации нужно просто в самой функции указать возможность отсутствия аргументов и она отлично отрабатывает.

  3. использование относительных путей для вызова function.inc.php
    пока не заменил на абсолютный , то глючили разные разделы немилосердно.
    относительные лучше никогда не использовать вообще, ибо есть явная неопределенность (как это не покажется странным) от какого исходного каталога начинать отсчет - от каталога размещения запускаемого скрипта или от каталога того скрипта, который запустил запускаемый.

других сложностей там нет (ну кроме socket.io) , если не нужна интерактивность и есть готовность вручную проверять появление каких либо событий в разделах, то на него можно и забить.

@staskur
Copy link
Author

staskur commented Aug 9, 2019

А ещё - рекомендуем всё-таки https://ru.zenlix.com - ZENLIX 3.x - это уже совсем другой продукт, на Laravel 5.5. Если заинтересует - сделаем обязательно скидку!

Посмотрел тот вариант демки, который есть на сайте.

Появились три вопроса

  1. не увидел там компонента "главный портал". не нашел или его там нет ?

  2. мы могли бы допилить 2.95 до своих требований, но даже в демке 3.х вижу наличие 90% ожидаемого функционала и есть прямой смысл не терять время и приобрести готовое решение.
    На какую величину скидки для Юр.лица можно рассчитывать ?

  3. возможно ли получить для проверки работы в нашем серверном окружении дистрибутив 3.x на каких либо условиях перед покупкой ?
    вопрос из серии "ну а вдруг" ))

@yaroslavsnisarua
Copy link
Contributor

@staskur

  1. В ZENLIX 3.x нет функционала главного портала и пока не планируется.

  2. По вопросам цен, пишите на info@zenlix.com (Цены обсуждаем индивидуально), или в https://t.me/zenlix_com

  3. К сожалению, только демо. В опр случаях отдельный демо.
    В системе нет возможности блокировки от нелицензионного использования. Код открыт, доверяем клиентам. ;)

@staskur
Copy link
Author

staskur commented Aug 12, 2019

  1. В ZENLIX 3.x нет функционала главного портала и пока не планируется.

а о чем тогда идет речь в разделе возможностей на сайте ?

"
Внешний портал
Система публичной поддержки клиентов.
"

@yaroslavsnisarua
Copy link
Contributor

  1. В ZENLIX 3.x нет функционала главного портала и пока не планируется.

а о чем тогда идет речь в разделе возможностей на сайте ?

"
Внешний портал
Система публичной поддержки клиентов.
"

Данный функционал для версии ZENLIX 2.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants