Xampp에서 Apache를 서비스로 (재)시작하는 데 문제가 있습니다.

Xampp에서 Apache를 서비스로 (재)시작하는 데 문제가 있습니다.

안녕하세요,
httpd.conf를 변경한 후 Xampp에서 Apache를 서비스로 다시 시작하고 싶습니다. Nelson의 조언에 따라 먼저 제거했습니다.

sc delete apache2.2

xampp 제어판에서 svc를 확인하면 서비스가 분명히 다시 시작됩니다. 즉, 위에서 언급한 명령을 사용하여 다시 성공적으로 삭제할 수 있지만 Xampp 제어판에서는 "중지됨"(회색 배경에 회색)이라고 표시됩니다. "시작"을 클릭해도 "Apache 서비스가 시작되었습니다"라는 메시지가 표시되지만 내용은 변경되지 않습니다.
httpd.conf에서 DocumentRoot를 변경했지만 Apache는 실행 중인 것 같지만 변경 사항을 볼 수 없는 것 같습니다. 적어도 http://localhost에 대한 페이지는 얻지만 새 DocumentRoot가 참조하는 페이지는 얻지 못합니다.
여기에 무슨 문제가 있는지 아시나요?
티아
스티븐

편집하다
서비스 콘솔을 사용하여 Apache를 시작하려고 하면 "Windows가 로컬 컴퓨터, patatee, patata...에서 Apache2.2를 시작할 수 없습니다."라는 오류가 발생합니다. 오류 로그에는 이벤트 3299가 언급되어 있습니다.

답변1

"sc delete"는 Windows 서비스, 즉 더 이상 존재하지 않으며 시작하거나 중지할 수 없는 서비스를 삭제합니다. Apache를 다시 설치하거나 sc 명령을 사용하여 서비스를 다시 생성할 때까지 서비스는 다시 생성되지 않습니다. 명령줄에서 서비스를 다시 시작하는 올바른 방법은 다음과 같습니다.

net stop apache2.2
net start apache2.2

(불행하게도 "net restart" 옵션이 없습니다).

"net start apache2.2"를 사용하면 오류가 반환됩니까? "서비스 이름이 잘못되었습니다."라는 오류가 발생하는 경우 그런 다음 서비스를 다시 생성해야 합니다. 이 작업을 직접 수행하는 방법을 모르겠지만 간단해야 합니다.

JR

서비스 관련 오류가 발생했습니다: 1

이는 Apache 서비스가 설치되어 있지만 Apache 자체가 시작될 때 오류를 보고함을 나타냅니다. 아마도 구성 파일에 문제가 있을 수 있습니다. 일반적인 전략은 Apache를 애플리케이션으로 실행하여 생성되는 오류 메시지를 확인하는 것입니다. 보다http://httpd.apache.org/docs/2.2/platform/windows.html#winconsApache를 애플리케이션으로 실행하는 방법에 대한 내용입니다.

답변2

저는 XAMPP의 제어판을 사용해 본 적이 없습니다. 그러나 마지막으로 XAMPP를 사용했을 때 Apache를 다시 시작하는 가장 쉬운 방법은 Window의 일반 서비스 콘솔을 이용하는 것임을 알게 되었습니다.

답변3

이것이 귀하의 질문에 직접적으로 대답하지는 않는다는 것을 알고 있지만 apache/php/perl/mysql을 직접 설치하는 것이 좋습니다. 이를 통해 다음을 수행할 수 있습니다.

  • 이러한 구성 요소가 어떻게 연결되어 있는지 이해
  • 필요에 따라 구성 요소 버전을 변경합니다(일부 프로젝트에는 다른 버전이 필요할 수 있음).
  • 콘솔에서 이러한 구성 요소를 시작하세요. 이렇게 하면 디버그 및 제어가 더 잘 이루어집니다.
  • 다양한 프로젝트에 대해 여러 개의 설치를 가질 수 있습니다. 이렇게 하면 다른 프로젝트에 영향을 주지 않고 설치를 쉽게 버리고 다시 빌드할 수 있습니다.

XAMPP와 같은 도구는 신속하게 설치를 완료하는 데 유용합니다. 그러나 그들에게 결점이 없는 것은 아니다. 통합에 대한 약속은 매력적이지만 대부분의 경우 이를 직접 수행해야 하며 이는 더욱 강력한 접근 방식입니다.

Windows 서비스를 망쳐야 한다면 이 훌륭한 무료 도구인 Windows Service Commander를 추천합니다.

답변4

Apache 실행 파일을 통해 직접 Apache 서비스를 다시 시작할 수도 있으며 -k reload/restart 옵션이 있습니다.

apache2.exe -k 재시작 -n "apacheservicename"

Iirc.

관련 정보