2012-07-16 2 views
0

inetmgr 앱 (IIS 7)을 통해 수동으로 사이트를 만들고 사이트 이름과 실제 위치를 제공하고 (해당 앱 풀을 변경하는 경우) net 4) 모두 잘 실행되고 web.config 파일을 선택합니다.appcmd 만든 사이트 iis 7 asp.net web.config 파일을 무시합니다.

그러나 appcmd를 사용하여 명령 줄에서 동일한 사이트를 설정하면 web.config 파일을 무시하고 inetmgr은 사이트와 파일을 표시하지만 "구성 편집기"에는 아무 것도 없습니다 거기에 web.config 파일의 항목이 있습니다.

명령 줄 응용 cmd를

는 빌드 스크립트에서 실행되지만,이 작업을 수행하는 방법은 다음과 같습니다 :

def create_web_site(site_name, site_location, site_port) 
    delete_command = "#{$file["appcmd"]} delete site #{site_name}" 
    result = system delete_command 
    puts "Failed to delete site on IIS: #{$?}" unless result 

    add_command = "#{$file["appcmd"]} add site /name:#{site_name} /bindings:http/*:#{site_port}: /physicalPath:#{site_location}" 
    result = system add_command 
    raise "Failed to add site on IIS: #{$?}" unless result 

    set_app_pool_command = "#{$file["appcmd"]} set app #{site_name}/ /applicationPool:\"ASP.NET v4.0\"" 
    result = system set_app_pool_command 
    raise "Failed to bind site to .net 4 app pool on IIS: #{$?}" unless result 

    start_site_command = "#{$file["appcmd"]} start site #{site_name}" 
    result = system start_site_command 
    raise "Failed to start site on IIS: #{$?}" unless result 
end 

당신은 정말 APPCMD 명령어 실행 볼 레이크/루비를 알 필요가 없습니다 및 존재하는 경우 사이트를 삭제 한 다음 .net 4 응용 프로그램 풀을 사용하여 새 사이트를 추가 한 다음 사이트를 시작합니다. 이것은 모두 잘 작동하고 내가 말할 수있는 한 똑같은 2 개의 사이트를 볼 수 있습니다 (GUI를 통해 수동으로 생성하는 것 이외에 다른 포트가있어 충돌을 막을 수 있습니다).

사이트를 설정할 때 GUI가 제공하는 appcmd에 누락 된 것이 있습니까?

+0

GUI가 "\"로 디렉토리를 생성하지만 appcmd 디렉토리가 "/"의미를 사용하고있는 것처럼 보입니다. web.config가 선택되지 않았지만 모든 것이 잘 연결되어있는 것 같습니다. – Grofit

답변

0

IIS에서 잘못된 폴더 사이의 슬래시로 문제를 해결했습니다. 모두 작동하지만 늘 아무것도 데리러 나타납니다, 그래서 내 사이트 디렉토리가 어디에 같은 :

C :/some_folder/some_site 내가 그들을 교환했다 나의 스크립트

:

C : \ some_folder \ some_site

"\"문자는 대개 다음 문자를 건너 뛰거나 무시한다는 의미로 사용되었으므로 문자를 올바르게 입력하지 말고 첫 번째 문자열을 바꾸십시오. 시작하는 방법.

관련 문제