Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior Próxima revisão Ambos lados da revisão seguinte | ||
instalacao_on_premise_flashman [23/04/2020 20:32] superuser |
instalacao_on_premise_flashman [22/05/2020 17:03] superuser |
||
---|---|---|---|
Linha 15: | Linha 15: | ||
</code> | </code> | ||
- Aguardar um minuto e verificar status de sincronização através do comando <code>timedatectl</code> | - Aguardar um minuto e verificar status de sincronização através do comando <code>timedatectl</code> | ||
+ | - Instalar o Git | ||
+ | - Insira o seguinte comando: <code> | ||
+ | sudo apt-get install git | ||
- Instalar o Nginx (versão 1.10.3 ou superior) | - Instalar o Nginx (versão 1.10.3 ou superior) | ||
- Insira o seguinte comando: <code> | - Insira o seguinte comando: <code> | ||
Linha 174: | Linha 177: | ||
sudo systemctl enable redis-server | sudo systemctl enable redis-server | ||
</code> | </code> | ||
- | - Instale pelo menos dois diretórios adicionais com o flashman. Exemplo: | ||
- | ** Atenção! O número de diretórios não deverá ser maior que o número de núcleos de processamento ** | + | - Edite o arquivo mqtts-port.json presente no diretório flashman para o valor existente no arquive acrescido de uma unidade |
- | <code> | + | |
- | mkdir ./flashman-2 | + | |
- | unzip flashman.zip -d ./flashman-2/ | + | |
- | mkdir ./flashman-3 | + | |
- | unzip flashman.zip -d ./flashman-3/ | + | |
- | </code> | + | |
- | - Atualize os diretórios adicionais criados. Exemplo: | + | |
- | <code> | + | |
- | cd ./flashman-2 | + | |
- | git fetch | + | |
- | git reset --hard | + | |
- | git checkout <ULTIMA VERSAO DISPONIVEL> | + | |
- | npm install | + | |
- | cd ../flashman-3 | + | |
- | git fetch | + | |
- | git reset --hard | + | |
- | git checkout <ULTIMA VERSAO DISPONIVEL> | + | |
- | npm install | + | |
- | </code> | + | |
- | + | ||
- | - Aplique as seguintes configurações em cada arquivo enviroment.config.json presente em cada diretório criado | + | |
- | + | ||
- | **Atenção! Caso a chave não exista no arquivo, você poderá criá-la.** | + | |
- | <code> | + | |
- | "name": <<nome do diretorio>>, | + | |
- | "FLM_IMG_RELEASE_DIR": "<<caminho completo>>/flashman/public/firmwares/", | + | |
- | "FLM_CERT_MQTT_DIR": "<<caminho completo>>/flashman/certs", | + | |
- | "FLM_WEB_PORT": <<porta>>, | + | |
- | "FLM_SCHEDULER_ACTIVE": false, | + | |
- | "FLM_DISABLE_AUTO_UPDATE": "true", | + | |
- | "FLM_USE_MQTT_PERSISTENCE": true | + | |
- | </code> | + | |
- | - Substitua o <<nome do diretorio>> pelo nome do diretório criado. Exemplo: flashman-2 | + | |
- | + | ||
- | - Substitua o <<caminho completo>> pelo caminho até o diretório raiz do Flashman. | + | |
- | + | ||
- | - Substitua o <<porta>> pelo valor 8000 + número do diretório flashman. Exemplo: 8002 | + | |
- | + | ||
- | - Edite os arquivos mqtts-port.json presentes em cada diretório flashman para um valor 10000 + número do diretório flashman | + | |
- Edite o arquivo de configuração do HAProxy para o seguinte formato. Lembre de alterar onde estiver marcado | - Edite o arquivo de configuração do HAProxy para o seguinte formato. Lembre de alterar onde estiver marcado | ||
Linha 258: | Linha 221: | ||
option tcplog | option tcplog | ||
balance leastconn | balance leastconn | ||
- | server flashman-2 localhost:<**porta criada no passo anterior**> check | + | server flashman-2 localhost:<**porta MQTTS designada para o provedor + 2**> check |
- | server flashman-3 localhost:<**porta criada no passo anterior**> check | + | server flashman-3 localhost:<**porta criada no passo anterior + 3**> check |
</code> | </code> | ||
Linha 266: | Linha 229: | ||
upstream backend { | upstream backend { | ||
ip_hash; | ip_hash; | ||
- | server localhost:<** porta web configurada ao editar o arquivo enviroment.config.json **>; | + | server localhost:<** porta web 8001 ou porta web configurada + 1 **>; |
- | server localhost:<** porta web configurada ao editar o arquivo enviroment.config.json **>; | + | server localhost:<** porta web 8002 ou porta web configurada + 1 **>; |
} | } | ||
Linha 293: | Linha 256: | ||
"FLM_CERT_MQTT_DIR": "<<caminho completo>>/flashman/certs", | "FLM_CERT_MQTT_DIR": "<<caminho completo>>/flashman/certs", | ||
"FLM_SCHEDULER_ACTIVE": true, | "FLM_SCHEDULER_ACTIVE": true, | ||
- | "FLM_DISABLE_AUTO_UPDATE": "true", | + | "FLM_USE_MQTT_PERSISTENCE": true, |
- | "FLM_USE_MQTT_PERSISTENCE": true | + | |
</code> | </code> | ||
- | - Edite o arquivo mqtts-port.json para um porta alta diferente do porta MQTTS designada para o provedor | ||
- | - Reinicie os serviços nginx e haproxy | + | - Insira também quantas instâncias serão iniciadas no mesmo aquivo, após a chave "exec_mode": |
+ | <code> | ||
+ | "exec_mode": "cluster", | ||
+ | "instances" : "max" | ||
+ | </code> | ||
- | - Reinicie a instância flashman principal e inicie as instâncias criadas nos demais diretórios | + | - Edite o arquivo mqtts-port.json para um porta alta com numeração seguinte a porta MQTTS designada para o provedor |
+ | |||
+ | - Reinicie os serviços nginx e haproxy | ||
** Atenção! Instância principal deverá ser removida e recriada no pm2 ** | ** Atenção! Instância principal deverá ser removida e recriada no pm2 ** |