웹 서버를 시작할 수 없음
저는 비주얼 스튜디오 2012에 asp.net 웹 애플리케이션 프로젝트를 가지고 있습니다.시작하려고 할 때 다음 오류가 발생합니다.
IIS Express 웹 서버를 시작할 수 없습니다. 포트 "4012"가 사용 중입니다.
이 문제는 무에서 비롯되었습니다.어떻게 해결할 수 있습니까?
비주얼 스튜디오 2012에서도 비슷한 문제가 있었습니다.
오류: " IIS Express 웹 서버를 시작할 수 없습니다.
사이트 "MySite" 응용 프로그램 "/"에 대한 URL http://localhost:1030/을(를) 등록하지 못했습니다.오류 설명:다른 프로세스에서 파일을 사용하고 있기 때문에 해당 프로세스에서 파일을 사용할 수 없습니다. (0x85968574)"
이유: 실제로 이 포트 번호는 런타임에 동적으로 생성됩니다.사용할 수 있어야 한다는 보장을 보냈습니다.다른 프로세스에서 획득한 경우 프로젝트가 실행되지 않습니다.그래서 우리는 다른 항구를 시도할 필요가 있습니다.
해결책: 제가 인터넷에서 찾은 다양한 해결책들이 있지만, 문제는 해결되지 않은 채로 남아 있습니다.마지막으로 저는 다음과 같은 해결책을 시도했습니다.
- 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭 -> 속성
- 웹(LHS에서)을 클릭합니다.
- 로컬 IIS 웹 서버(기본적으로 radio btn이 선택됨)를 확인합니다.
- 프로젝트 URL의 포트 번호를 http://localhost:1030/을 http://localhost:45896/(1024보다 높을 수 있음)로 변경합니다.
- 변경사항을 저장하고 응용프로그램을 실행합니다.
이렇게 하면 IIS 구성 파일 및 필요한 모든 곳에서 자동으로 변경되므로 코드를 명시적으로 변경할 필요가 없습니다.그것은 나를 위한 일입니다. 당신에게도 효과가 있기를 바랍니다.
MSDN 라이브러리에서
Visual Studio는 파일 시스템 웹 사이트를 실행할 때 지정한 포트를 사용할 수 있다고 보장할 수 없습니다.페이지를 실행할 때 포트가 사용 중이면 Visual Studio에 오류 메시지가 표시됩니다.
IIS Express에서 프로그램을 실행하는 데 사용하는 포트를 변경하려면 MSDN의 이 문서에 설명된 절차를 따라야 합니다.
간단히 말해서, 우리는 그 파일을 편집해야 합니다.%systemdrive%:\Users\<username>\Documents\IISExpress\config
및 이 파일에 있는 바인딩 정보를 변경하고 IIS Express의 다른 구성을 변경합니다.
이처럼 문제를 해결하는 방법이 그리 간단하지 않기 때문에 개발 컴퓨터에서 해당 포트 액세스를 사용하려는 응용 프로그램을 닫는 것이 좋습니다.Microsoft의 TCPView와 같은 특정 도구를 찾아 포트를 점유한 응용 프로그램을 찾을 수 있습니다.종종 그것은 브라우저일 뿐입니다.
명령 프롬프트에서 "netstat -b"를 실행하여 포트 4012를 사용하는 응용 프로그램을 확인합니다.프로세스를 종료하면 IIS Express가 포트 4012를 사용하여 시작할 수 있습니다.
IIS Express Worker Process를 제거하면 이 문제가 해결됩니다. Visual Studio 2015의 두 동시 인스턴스를 디버그하고 두 웹 솔루션을 전환하는 동안 이 문제가 발생합니다.
이것이 지속적인 문제라면 솔루션을 수정하는 Kedar의 답변이 더 낫지만, 위기일 때 코드 검토 등을 위해 저는 이것을 선호합니다.
한 가지 해결책은 브라우저에서 기록을 삭제하거나 지우는 것입니다.그런 다음 Visual Studio를 다시 시작하고 응용 프로그램을 다시 실행합니다.
이 솔루션이 작동하지 않으면 개발 서버(IIS Express)의 포트 번호를 변경해야 합니다.
도움이 되길 바랍니다.
이러한 상황이 갑자기 발생한 경우(모든 것이 정상적으로 작동하지만 갑자기 IIS Express 웹 서버를 시작할 수 없음 오류가 표시됨) 종종 사용할 수 있는 솔루션은 다음과 같습니다.
- II Express 프로세스 종료
- 더 중요한 것은 모든 브라우저 프로세스(Firefox, Chrome, Chrome Dev Tools, IE 등)를 종료하는 것입니다.
매력적으로 작동합니다 :) 그렇지 않으면 이 스레드에서 다른 솔루션을 사용해 보십시오.
PS. 여기 어딘가에 댓글로 쓰신 분도 있지만 쉽게 찾을 수 있도록 답변으로 올립니다.
Visual Studio를 닫고 "관리자 권한으로 실행" 옵션을 사용하여 다시 엽니다.
구성 파일에서 추가 바인딩을 제거합니다.
명령 프롬프트를 관리자로 실행하고 유형을 입력합니다.
1. netsh http show urlacl
사용된 URL 목록이 표시됩니다. 현재 사용하려는 URL이 여기에 나열되어 있는지 확인하십시오.다음 단계에서 이 예약을 삭제해야 합니다.
2. netsh http delete urlacl url=/위 목록에 나열된 귀하의 전체 URL/
확인 후 IIS 다시 시작
Visual Studio와 동시에 Fiddler를 실행할 때도 이 오류가 발생했습니다.Fiddler를 그만두고 애플리케이션을 다시 실행한 것이 저에게 도움이 되었습니다.
IIS Express로 이동
cd "C:\Program Files (x86)\IIS Express\"
이것을 실행합니다.
appcmd.exe list site /xml | appcmd delete site /in
임파지웁다니에서 %temp%
로그아웃하거나 다시 부팅할 수 있습니다.
모든 사이트가 삭제됩니다. 즐기십시오!
제 경우에는 두 가지 일을 해야 했습니다.
이 파일에서 가상 디렉터리를 제거합니다.
C:\Users\<user-name>\Documents\IISExpress\config\applicationhost.config
다음에서 TCPView 프로그램을 실행합니다. http://technet.microsoft.com/en-us/sysinternals/bb897437 포트를 사용하는 프로세스를 찾고 "프로세스 종료"를 선택합니다.
그런 다음 Visual Studio에서 웹 앱 프로젝트 속성을 열고 웹 탭을 선택한 다음 "Create Virtual Directory" 버튼을 클릭하여 가상 디렉터리를 다시 만듭니다.웹 앱을 디버그 모드로 실행합니다.
컴퓨터를 다시 시작하는 것만으로 이 문제를 해결할 수 있었습니다.
다음 단계를 수행합니다.
- VS2013에서 Debug > 웹 사이트 속성을 열었습니다.
- 웹 탭을 선택합니다.
- "서버"에서 "어플리케이션 루트 URL 재정의"가 선택되어 있지 않은 것을 발견했습니다.확인하고 저장했습니다.
저는 OP가 "이 문제는 무에서 비롯되었습니다"라고 말하는 것과 정확히 같은 문제를 가지고 있었습니다.
그리고 저는 그냥 제 기계를 재부팅했고 다시 작동했습니다.IIS Express를 다시 시작하지 못했습니다.
작업 관리자 --> 프로세스 --> iexpress --> 오른쪽 클릭 --> 프로세스 트리 종료 --> 그러면 응용 프로그램을 빌드하고 실행할 수 있습니다.
다음 단계를 수행하여 문제가 해결되었습니다. - 프로젝트 -> 속성 -> 웹 - 서버에서 로컬 IIS를 선택합니다. - 설정을 저장하고 다시 찾아보기
web.csproj에서 포트 번호 변경
<DevelopmentServerPort>56048</DevelopmentServerPort>
다른 옵션은 다음을 삭제하는 것입니다.applicationhost.config
로컬 솔루션 폴더에서도 사용할 수 있습니다.
Visual Studio는 이 기능을 다음 폴더에도 저장합니다..vs\config
솔루션 폴더의 루트에 있습니다.
삭제 또는 편집applicationhost.config
거기서 이것을 해결하는 데 도움이 되었습니다.
프로젝트를 제거하십시오..vs
폴더 및applicationhost.config
파일을 저장한 다음 코드를 실행합니다.
위의 답변보다 훨씬 더 가능성이 높습니다. 이 SO 문서에 설명된 대로 IISpress 폴더를 삭제하십시오.
저의 경우, 인터넷에서 찾은 모든 게시물을 시도했지만 아무 것도 작동하지 않았습니다. 마지막으로 한 일은 프로젝트의 옵션을 변경한 것입니다. 오른쪽 클릭/ 비주얼 스튜디오 웹 서버를 사용하고 이제 모든 것이 잘 작동합니다.
언급URL : https://stackoverflow.com/questions/14660366/unable-to-launch-web-server
'programing' 카테고리의 다른 글
총 행 수와 고유 행 수 간의 차이를 가져오기 위한 쿼리 (0) | 2023.07.16 |
---|---|
어느 위원회에 이 방울이 있습니까? (0) | 2023.07.16 |
프로그램의 단일 인스턴스만 실행 중인지 확인 (0) | 2023.07.16 |
mongoose를 사용하여 MongoDB에서 대량 업그레이드 (0) | 2023.07.16 |
딕트와 같은 역할을 하는 파이썬 클래스 (0) | 2023.07.16 |