문제

나는 프로젝트를위한 웹 서버를 찾고 있었지만 나 자신을 만족시킬 수 없었습니다. Windows의 컴파일 된 CGI 스크립트 (EXE)를 지원하는 HTTP 서버가 필요하며 상대 경로를 사용할 수 있어야합니다. 서버가 가능한 한 최소/가벼울 수 있다면 보너스가 될 것입니다.

지금까지 내 검색에서 가장 어려운 부분은 CGI를 지원하고 상대 경로 지원이있는 서버를 찾는 것입니다. 상대 경로를 말할 때 서버 루트 디렉토리를 의미합니다. 나는 이것을 내 프로젝트와 함께 포장 할 수 있기를 원하므로 conf 파일의 경로는 절대적 일 수 없습니다.

내가 모든 기준을 만족시키기 위해 얻은 유일한 것은 Abyss Web이지만 라이센스는 독점적이며 개인적으로 만 무료입니다.

편집 : 나는 내 방식대로 오류를 발견했습니다. 루트에서 CMD를 통해 프로세스를 시작했습니다. 따라서 Apache가 콘크리트에서 사용했던 상대적인 경로는 내가 뿌리에있는 곳과 관련이있었습니다. 루트 디어로 변경하고 프로세스를 실행함으로써 모든 것이 GBJBaanb가 언급 한대로 작동합니다. 그러나 내 질문의 맥락이 여전히 유효 할 수 있다고 생각합니다. 내 프로그램 (C# .NET)에서 프로세스로 서버를 실행하려면 '현재 디렉토리'는 무엇입니까? 출시하기 전에 현재 디렉토리 환경 변수를 변경해야합니까?

도움이 되었습니까?

해결책

Apache에 무슨 문제가 있습니까? DocumentRoot를 모든 디렉토리로 설정할 수 있습니다 (C에서 Windows에서 시도하지는 않았지만 :)

또한 웹 서버 루트 디렉토리에도 적용됩니다. a /와 함께 지침을 시작하지 마십시오.

다른 팁

나는 내가 사용 해야하는 서버의 모의 버전을 신속하게 부팅했으며 gbjbaanb가 Windows에도 유효한 것 같습니다. *nix와 마찬가지로 상대 경로는 Apache가 시작될 때 현재 디렉토리의 내용에 따라 작동합니다. 따라서 Windows의 경우 현재 디렉토리의 환경 변수를 Apache가 원하는 디렉토리로 설정하십시오. .NET의 경우 System.io.directory.setCurrentDirectory () 또는 System.Environment.CurrentDirectory를 적절하게 설정하십시오. *nix에 대해서는 실행하기 전에 디렉토리로 CD를 사용하거나 chroot를 사용한다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top