|
|
# Portal fora do ar, o que fazer?
|
|
|
Sempre que você acessar [o portal](https://simmc.c3sl.ufpr.br/) e algum erro estiver sendo apresentado ao invés da página inicial, há grandes chances dele ter caído na prod. Para encontrar e resolver o erro, existem algumas coisas que você pode fazer.
|
|
|
|
|
|
[TOC]
|
|
|
|
|
|
## Garanta que o problema é no servidor
|
|
|
Antes de entrar na prod e mexer em algo, garanta que não é um problema da sua conexão ou do navegador. Algumas dicas:
|
|
|
* Carregue a página sem utilizar a cache. (Ctrl+Shift+R no Firefox).
|
|
|
* Tente acessar via navegação anônima.
|
|
|
* Tente acessar com outro navegador.
|
|
|
* Verifique se você não está usando nenhuma configuração de proxy no seu navegador.
|
|
|
* Peça para outras pessoas do projeto tentarem acessar o portal.
|
|
|
* Pesquise o código do erro que é retornado.
|
|
|
|
|
|
Se mesmo depois de tudo isso, o erro ainda persistir é hora de acessar a VM.
|
|
|
|
|
|
## Acesse a VM
|
|
|
`ssh xxxx@macalan.c3sl.ufpr.br`
|
|
|
`ssh root@simmcprod`
|
|
|
`cd /home/simmc/simmc_prod`
|
|
|
|
|
|
E você estará na pasta onde estão os arquivos de produção do portal.
|
|
|
|
|
|
## Verifique se tudo está rodando
|
|
|
O portal possui muitas dependências que o fazem funcionar, como o blendb e o webservice. Garanta que tudo isso está rodando:
|
|
|
* **Portal:** deve estar rodando na porta 3000. `fuser 3000/tcp` retornará se existe algum processo utilizando essa porta e se sim, seu PID.
|
|
|
* **Blendb:** deve estar rodando na porta 3001. `fuser 3001/tcp`.
|
|
|
* **Webservice:** deve estar rodando na porta 8000. `fuser 8000/tcp`.
|
|
|
* **Pro-info:** deve estar rodando na porta 4900. `fuser 4900/tcp`.
|
|
|
|
|
|
Se alguma dessas dependências não estiver executando, você deve iniciá-las.
|
|
|
* **Portal:** No diretório `/home/simmc/simmc_prod/portal` execute os seguintes comandos:
|
|
|
```
|
|
|
source ../../.nvm/nvm.sh
|
|
|
nvm use v6.11.4
|
|
|
npm start
|
|
|
```
|
|
|
e o portal estará rodando na porta 3000.
|
|
|
|
|
|
* **Blendb:** No diretório `/home/simmc/blendb/` execute o seguinte comando: `source service/service.sh` e o blendb estará rodando na porta 3001.
|
|
|
* **Webservice:** No diretório `/home/simmc/webservice/` execute os comandos:
|
|
|
```
|
|
|
source ../../.nvm/nvm.sh
|
|
|
nvm use v6.11.4
|
|
|
npm start
|
|
|
```
|
|
|
e o webservice estará rodando na porta 8000.
|
|
|
* **Pro-info**: No diretório `/home/proinfo-exp/proinfo-ws-novo/` execute os seguintes comandos:
|
|
|
```
|
|
|
source ../../.nvm/nvm.sh
|
|
|
nvm use v6.11.4
|
|
|
PORT=4900 npm start
|
|
|
```
|
|
|
e o pro-info estará rodando na porta 4900.
|
|
|
|
|
|
## Verifique os logs do nginx
|
|
|
Além de verificar se todos os componentes estão rodando, é muito importante olhar os logs de erro do nginx, eles podem apontar facilmente o que aconteceu para o portal ter caído. Para acessar o log: `cat /var/log/nginx/simmc_error.log` e serão mostrados todos os últimos erros gerados no nginx do simmc.
|
|
|
### Exemplo de erro
|
|
|
```
|
|
|
2021/04/07 11:18:58 [error] 920#920: *1798913 connect() failed (111:
|
|
|
Connection refused) while connecting to upstream, client: 167.250.69.207,
|
|
|
server: www.simmctic.c3sl.ufpr.br, request: "POST /axis2/services/DataSID
|
|
|
HTTP/1.1", upstream: "http://200.17.202.116:8000/services/DataSID", host:
|
|
|
"simmc.c3sl.ufpr.br"
|
|
|
```
|
|
|
Observe algumas coisas importantes:
|
|
|
* **Erro:** connect() failed (111: Connection refused) while connecting to upstream. Significa que não foi possível se conectar à uma upstream do projeto.
|
|
|
* **Upstream:** As upstreams estão definidas no arquivo de configuração do simmc no nginx. Você pode encontrá-lo em: `/etc/nginx/sites-available/`
|
|
|
* **Porta:** upstream: "200.17.202.116:**8000**/services/DataSID". Repare no 8000, ou seja, erro no webservice.
|
|
|
* **Resolução:** O erro se dava porque o webservice (da porta 8000) não estava rodando, então a resoluação foi iniciá-lo conforme descrito anteriormente. |
|
|
\ No newline at end of file |