Logo da MMHospedagem
Carregando...
Plesk não está acessível: Não foi possível encontrar o nó de serviço para o serviço web no domínio com id=xxx
imprimir
  • 0

Sintomas

  • Ao tentar fazer login no Plesk ou ao tentar abrir um domínio no painel, o Plesk mostra o seguinte erro:

    Internal error: Unable to find service node for web service on domain with id=111
  • O comando “plesk repair db” relata a seguinte mensagem de erro:

    plesk repair db -n
    Inconsistency in the table 'domains' for the column id: No rows in the table 'DomainServices' with type = 'web', dom_id = 111 ........ [ERROR]

Causa

Inconsistência no banco de dados Plesk.

Resolução

Nota:  As etapas abaixo são as mesmas para Linux e Windows.  

  1. Conecte-se ao servidor Plesk via  SSH / RDP .

  2. Crie um dump do banco de dados Plesk.

  3. Conecte-se ao banco de dados Plesk com o comando (no Windows Server use um prompt de comando ):

    plesk db
  4. Encontre o "ip_address_id" do domínio usando o valor dom_id da mensagem de erro (por exemplo dom_id = 111):

    mysql> select dom_id,param,val from dom_param where param='ip_addr_id' and dom_id=111;
    +--------+------------+------+
    | dom_id |   param    |  val |
    +--------+------------+------+
    |  111   | ip_addr_id |   1  |
    +--------+------------+------+
  5. Encontre o “id” com o tipo “mail” em DomainServices:

    mysql> select * from DomainServices where dom_id=111;
    +------+--------+------+--------+---------------+----------------+
    | id   | dom_id | type | status | parameters_id | ipCollectionId |
    +------+--------+------+--------+---------------+----------------+
    | 25   | 111    | mail | 0      | 639           | 25             |
    +------+--------+------+--------+---------------+----------------+
  6. Encontre o "id" do endereço IP atribuído ao domínio:

    mysql> select * from IpAddressesCollections where ipCollectionId=25;
    +----------------+-------------+
    | ipCollectionId | ipAddressId |
    +----------------+-------------+
    | 25             | 1           |
    +----------------+-------------+
  7. Encontre o próximo valor livre para o campo “id” na tabela DomainServices: 

    mysql> select max(id)+1 from DomainServices;
    +-----------+
    | max(id)+1 |
    +-----------+
    | 1447      |
    +-----------+

  8. Crie os registros ausentes usando o id da etapa 7 (neste exemplo id=1447) e ipCollectionId como 1 + o valor da etapa 6 (neste exemplo ipCollectionId=26 [25+1]):

    • Na tabela DomainServices:

      mysql> insert into DomainServices (id, dom_id, type, status, parameters_id, ipCollectionId) values ('1447', '111', 'web', '0', '0', '26');
    • Na tabela IpAddressesCollections:

      mysql> insert into IpAddressesCollections (ipCollectionId, ipAddressId) values ('26', '1');
    • Na tabela IpCollections:

      mysql> insert into IpCollections (id) values ('26');

Esta resposta lhe foi útil?

Artigos Relacionados

MMHospedagem