
Я использовал .NET для создания пакета установки сервиса (msi), который при запуске устанавливает службу Windows, предназначенную для запуска экземпляра Apache Solr (для помощи в поиске из веб-приложения). Я запускаю службу на той же машине, где размещен Solr. Когда я запускаю его, я получаю:
Невозможно запустить службу. System.Net.WebException: Невозможно подключиться к удаленному серверу ---> System.Net.Sockets.SocketException: Не удалось установить соединение, поскольку целевая машина активно отклонила его [MachineIP]:8983 в System.Net.Sockets.Socket.DoConnect(EndPoint endpoingSnapshot, SocketAddress socketAddress) в System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) --- Конец трассировки внутреннего стека исключений --- в System.Net.HttpWebRequest.GetResponse() в SOLRService.SolrService.OnStart(String[] args) в System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
Где [MachineIP] — это IP-адрес ящика. Опять же, я пытаюсь запустить эту службу с того же ящика, к которому она пытается подключиться. Я попробовал пинговать его собственный IP, просто ради прикола, и он ответил нормально. Я просто не понимаю, почему сервер активно отказывается от подключения к себе. Мы смогли заставить это работать в разработке.
Спасибо.
решение1
Connection refused
означает, что на этом порту (в вашем случае 8983) ничего не прослушивается. Запустите службу, которая должна прослушивать соединения на этом порту.