Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


astpanel:optimization

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
astpanel:optimization [2019/08/05 09:06]
apor [Проверка работы сервиса]
astpanel:optimization [2019/12/16 11:11] (текущий)
apor [Настройка Nginx]
Строка 9: Строка 9:
 Следующим витком развития механизма было описание дополнительного HTTP сервиса,​ работа которого осуществляется в обход AJAM интерфейса. Для FreePBX это ресурс:​ **http://​127.0.0.1/​admin/​1c/​getvar/​index.php?​event=Ping**. Производительность этого варианта работы оказалась выше, но при крупных внедрениях и ее оказалось мало. Вот пример нагрузочного теста: Следующим витком развития механизма было описание дополнительного HTTP сервиса,​ работа которого осуществляется в обход AJAM интерфейса. Для FreePBX это ресурс:​ **http://​127.0.0.1/​admin/​1c/​getvar/​index.php?​event=Ping**. Производительность этого варианта работы оказалась выше, но при крупных внедрениях и ее оказалось мало. Вот пример нагрузочного теста:
  
-<​code>​ab -c 400 -n 10000  '​http://​127.0.0.1/​admin/​1c/​getvar/​index.php?​event=Ping'​����+<​code>​ab -c 400 -n 10000  '​http://​127.0.0.1/​admin/​1c/​getvar/​index.php?​event=Ping'​
 This is ApacheBench,​ Version 2.3 <​$Revision:​ 1430300 $> This is ApacheBench,​ Version 2.3 <​$Revision:​ 1430300 $>
 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://​www.zeustech.net/​ Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://​www.zeustech.net/​
Строка 40: Строка 40:
 </​code>​ </​code>​
  
-Правим порт в конфиг **[[https://​files.miko.ru/​s/​8N4KeY805dN61m3 ​| /​etc/​nginx/​nginx.conf]]**. Параметр "​**listen**"​.+Правим порт в конфиг **[[https://​files.miko.ru/​s/​dnrxCWZG6hrjbXk ​| /​etc/​nginx/​nginx.conf]]**. Параметр "​**listen**"​.
 <​code>​ <​code>​
 +
 user  nginx; user  nginx;
 worker_processes ​ 1; worker_processes ​ 1;
Строка 47: Строка 48:
 pid        /​var/​run/​nginx.pid;​ pid        /​var/​run/​nginx.pid;​
 load_module modules/​ndk_http_module.so;​ load_module modules/​ndk_http_module.so;​
-load_module modules/​ngx_http_lua_module.so;​+load_module ​"modules/​ngx_http_lua_module.so";
  
 events { events {
Строка 59: Строка 60:
     keepalive_timeout ​ 65;     keepalive_timeout ​ 65;
  server {  server {
-     listen ​      89;+     listen ​      23600;
      server_name ​ localhost;      server_name ​ localhost;
   
      location /​pbxcore/​api/​miko_ajam/​getvar {      location /​pbxcore/​api/​miko_ajam/​getvar {
 +         default_type '​text/​plain';​
 +         content_by_lua_file /​etc/​nginx/​http_get_variables.lua;​
 +         keepalive_timeout 0;
 +     }
 +     location /​admin/​1c/​getvar/​index.php {
          default_type '​text/​plain';​          default_type '​text/​plain';​
          content_by_lua_file /​etc/​nginx/​http_get_variables.lua;​          content_by_lua_file /​etc/​nginx/​http_get_variables.lua;​
Строка 71: Строка 77:
 </​code>​ </​code>​
  
-Заливаем файл на сервер **[[https://​files.miko.ru/​s/​TPmJxuX5mZCZfRc ​| /​etc/​nginx/​http_get_variables.lua]]**+Заливаем файл на сервер **[[https://​files.miko.ru/​s/​fjCXEdFUd7fQ6La ​| /​etc/​nginx/​http_get_variables.lua]]**
 Устанавливаем права доступа к файлу Устанавливаем права доступа к файлу
 <​code>​chown nginx:nginx /​etc/​nginx/​http_get_variables.lua <​code>​chown nginx:nginx /​etc/​nginx/​http_get_variables.lua
Строка 89: Строка 95:
 Смотрим статус сервера:​ Смотрим статус сервера:​
 <​code>​systemctl status nginx.service</​code>​ <​code>​systemctl status nginx.service</​code>​
- 
 ==== Проверка работы сервиса ==== ==== Проверка работы сервиса ====
  
 Из локальной консоли выполните команду:​ Из локальной консоли выполните команду:​
-<​code>​curl -u admin:​secret '​http://​127.0.0.1:​89/​pbxcore/​api/​miko_ajam/​getvar?​event=Ping'</​code>​+<​code>​curl -u admin:​secret '​http://​127.0.0.1:​23600/​pbxcore/​api/​miko_ajam/​getvar?​event=Ping'</​code>​
 Должен вернуть:​ Должен вернуть:​
 <​code>​true</​code>​ <​code>​true</​code>​
Строка 100: Строка 105:
  
 Дополнительная проверка получения переменных канала:​ Дополнительная проверка получения переменных канала:​
-<​code>​curl -u admin:​secret '​http://​127.0.0.1:​89/​pbxcore/​api/​miko_ajam/​getvar?​channel=SIP/​201-00000009&​variables=CDR(linkedid),​EXTEN'</​code>​+<​code>​curl -u admin:​secret '​http://​127.0.0.1:​23600/​pbxcore/​api/​miko_ajam/​getvar?​channel=SIP/​201-00000009&​variables=CDR(linkedid),​EXTEN'</​code>​
 Должен венуть:​ Должен венуть:​
 <​code>​New Structure("​Result",​ true)</​code>​ <​code>​New Structure("​Result",​ true)</​code>​
Строка 107: Строка 112:
  
 Тест производительности:​ Тест производительности:​
-<​code>​[root@freepbx ~]# ab -c 400 -n 10000 '​http://​127.0.0.1:​89/​pbxcore/​api/​miko_ajam/​getvar?​event=Ping'​+<​code>​[root@freepbx ~]# ab -c 400 -n 10000 '​http://​127.0.0.1:​23600/​pbxcore/​api/​miko_ajam/​getvar?​event=Ping'​
 This is ApacheBench,​ Version 2.3 <​$Revision:​ 1430300 $> This is ApacheBench,​ Version 2.3 <​$Revision:​ 1430300 $>
 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://​www.zeustech.net/​ Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://​www.zeustech.net/​
Строка 128: Строка 133:
 Server Software: ​       nginx/​1.15.7 Server Software: ​       nginx/​1.15.7
 Server Hostname: ​       127.0.0.1 Server Hostname: ​       127.0.0.1
-Server Port:            ​89+Server Port:            ​23600
  
 Document Path:          /​pbxcore/​api/​miko_ajam/​getvar?​event=Ping Document Path:          /​pbxcore/​api/​miko_ajam/​getvar?​event=Ping
Строка 165: Строка 170:
 </​code>​ </​code>​
  
-Не забудьте открыть на фаерволе порт ​89.+Не забудьте открыть на фаерволе порт ​23600.
  
 Например для iptables под управлением CENTOS это делается добавлением строчки в файл /​etc/​sysconfig/​iptables ​ Например для iptables под управлением CENTOS это делается добавлением строчки в файл /​etc/​sysconfig/​iptables ​
 <​code>​ <​code>​
--A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp   ​--dport ​89 -j ACCEPT+-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp   ​--dport ​23600 -j ACCEPT
 </​code>​ </​code>​
  
  
 [[:​astpanel|Обратно к инструкциям...]] [[:​astpanel|Обратно к инструкциям...]]
astpanel/optimization.1564995997.txt.gz · Последние изменения: 2019/08/05 09:06 — apor