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.
-
Crie um dump do banco de dados Plesk.
-
Conecte-se ao banco de dados Plesk com o comando (no Windows Server use um prompt de comando ):
# plesk db -
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 |
+--------+------------+------+ -
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 |
+------+--------+------+--------+---------------+----------------+ -
Encontre o "id" do endereço IP atribuído ao domínio:
mysql> select * from IpAddressesCollections where ipCollectionId=25;
+----------------+-------------+
| ipCollectionId | ipAddressId |
+----------------+-------------+
| 25 | 1 |
+----------------+-------------+ -
Encontre o próximo valor livre para o campo “id” na tabela DomainServices:
mysql> select max(id)+1 from DomainServices;
+-----------+
| max(id)+1 |
+-----------+
| 1447 |
+-----------+ -
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');
-