Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
comet:building-from-source [2018/01/09 08:04]
levhav [Собираем из исходных кодов]
comet:building-from-source [2019/12/18 01:58] (текущий)
Строка 3: Строка 3:
  
 ====== Установка ====== ====== Установка ======
 +
 +Рекомендую использовать [[https://​galaxy.ansible.com/​CppComet/​CppComet-ansible-role/​|роль для ansible-galaxy]],​ а если использование ansible для установки не подходит то следуйте инструкциями в этой статье.
  
 Рекомендуемые ОС ubuntu, debian, centos Рекомендуемые ОС ubuntu, debian, centos
 + 
 +Для debian 9
 <code bash> <code bash>
 apt-get update apt-get update
-apt-get install cmake make cpp gcc libssl-dev g++ nginx libmysqlclient-dev mysql-server ​mysql-client flex mailutils uuid-dev git+apt-get install cmake make cpp gcc libssl-dev g++ nginx pkg-config libmariadbclient-dev-compat ​mysql-client flex mailutils uuid-dev git
 </​code>​ </​code>​
 +
 +Если не получится поставить пакет libmariadbclient-dev-compat то попробуйте с пакетом libmariadbclient-dev
  
 ====== Собираем из исходных кодов ====== ====== Собираем из исходных кодов ======
Строка 15: Строка 21:
 cd comet-server cd comet-server
 cmake . cmake .
-make 
-</​code>​ 
- 
-Если получим ошибку CMAKE_MINIMUM_REQUIRED то значит надо [[https://​cmake.org/​install/​|установить более новую версию CMake]] 
-<code bash> 
-CMake Error at CMakeLists.txt:​1 (CMAKE_MINIMUM_REQUIRED):​ 
-  CMake 3.2 or higher is required. ​ You are running version 3.0.2 
-</​code>​ 
- 
-Для установки cmake-3.5.2 нужно выполнить следующие команды 
-<code bash> 
-apt-get install build-essential 
-wget http://​www.cmake.org/​files/​v3.5/​cmake-3.5.2.tar.gz 
-tar xf cmake-3.5.2.tar.gz 
-cd cmake-3.5.2 
-./configure 
 make make
 make install make install
 </​code>​ </​code>​
  
-а потом снова вернуться к папке с файлами comet сервера и ещё раз выполнить  +Если возникли ​ошибки ​смотрите список вероятных проблем в низу страницы.
-<code bash>  +
-cmake . +
-make +
-</​code>​+
 ====== Настройки ====== ====== Настройки ======
  
Строка 73: Строка 59:
 Запуск в консольном режиме Запуск в консольном режиме
 <code sh> <code sh>
-./cpp_comet+./cppcomet
 </​code>​ </​code>​
 Запуск в режиме демона Запуск в режиме демона
Строка 87: Строка 73:
 port = 8087 port = 8087
 </​code>​ </​code>​
- +, 
-После запуска комет сервера если открыть адрес ( ВашДомен.com:​8087 ) на котором должен быть комет сервер то должна открыться страница комет сервера. Если страница с приветсвием комет сервера открылась успешно то можно попробовать подключиться из javascript api. Для этого при подключении надо задать параметр node и если у вас port установлен не как 80 то надо указать ещё и порт для подключения.+После запуска комет сервера если открыть адрес ( ВашДомен.com:​8087 )на котором должен быть комет сервер то должна открыться страница комет сервера. Если страница с приветсвием комет сервера открылась успешно то можно попробовать подключиться из javascript api. Для этого при подключении надо задать параметр node и если у вас port установлен не как 80то надо указать ещё и порт для подключения.
  
 <code javascript>​ <code javascript>​
Строка 100: Строка 86:
 Для того чтоб настроить работу комет сервера на одной машине с другим сервером. Или просто иметь возможность работы не только по http но и по https надо настроить реверс прокси. Для того чтоб настроить работу комет сервера на одной машине с другим сервером. Или просто иметь возможность работы не только по http но и по https надо настроить реверс прокси.
  
-<note tip>​Если есть желание то в качестве реверс прокси для websockets можно настроить не nginx а apache2 или ​ что то ещё. Если не получается настроить nginx то можно попробовать найти в гугле другие примеры по запросу "​как настроить реверс прокси для websockets"</​note>​+<note tip>​Если есть желание то в качестве реверс прокси для websockets можно настроить не nginx а apache2 или ​ что-то ещё. Если не получается настроить nginxто можно попробовать найти в гугле другие примеры по запросу "​как настроить реверс прокси для websockets"</​note>​
  
 Ниже приведён пример конфигурации nginx для проксирования трафика до комет сервера с /​comet-server на комет сервер запущенный на порту 82 и всего остального трафика на веб сервер запущенном на порту 8080 Ниже приведён пример конфигурации nginx для проксирования трафика до комет сервера с /​comet-server на комет сервер запущенный на порту 82 и всего остального трафика на веб сервер запущенном на порту 8080
Строка 191: Строка 177:
 </​file>​ </​file>​
  
-====== Возможные проблемы после ​установки ======+====== Возможные проблемы после ​при ​сборке ======
    
 +Ошибка <​code>​GCC version must be at least 4.9!</​code>​ означает,​ что вам надо установить gcc как минимум 4.9
 +
 +[[https://​askubuntu.com/​questions/​428198/​getting-installing-gcc-g-4-9-on-ubuntu/​507068#​507068|Инструкция для ubuntu по установки gcc 4.9]]
 +
 +
 +====== Возможные проблемы после установки ======
  
 ===== Не правильные опции при подключении ===== ===== Не правильные опции при подключении =====
  
-Обратите внимание на то какие значения параметра port указаны в секциях [ws] и [cometql] именно на этих ​ портах комет сервер будет ожидать входящие подключения.+Обратите внимание на токакие значения параметра port указаны в секциях [ws] и [cometql] именно на этих ​ портах комет сервер будет ожидать входящие подключения.
  
 В шаблоне comet.ini поставляемом в репозитории параметр port  для подключений из JavaScrip api выставлен в 8087 В шаблоне comet.ini поставляемом в репозитории параметр port  для подключений из JavaScrip api выставлен в 8087
Строка 206: Строка 198:
 <code PHP>​$link = mysqli_connect("​example.ru",​ "​root",​ "",​ "​CometQL_v1",​ 3300);</​code>​ <code PHP>​$link = mysqli_connect("​example.ru",​ "​root",​ "",​ "​CometQL_v1",​ 3300);</​code>​
  
-Так же обратите внимание на то что надо указывать имя базы данных CometQL_v1, оно символизирует версию апи и вероятно потом выйдет версия CometQL_v2 и можно будет при подключении выбирать версию для работы.+Так же обратите внимание на то что надо указывать имя базы данных CometQL_v1, оно символизирует версию апи ивероятнопотом выйдет версия CometQL_v2 и можно будет при подключении выбирать версию для работы.