Node.js+Express on IIS
4420 단어 node.js
참고하기 시작한 것은 이 문장이다.
Installing and Running node.js applications within IIS on Windows - Are you mad?", 사실도 분명히 말했는데, 단지 너무 길어서 중간에 말했을 뿐이다
WCAT(WEB CAPACITY ANALYSIS TOOL)에 갔는데 얘기가 끝난 줄 알았는데 사이트를 발표하자마자 도망가지 못해 수동으로 웹을 작성해야 한다는 것을 알게 됐어요.config가handler,OK,원생의node프로그램에 가입하여 달리기 시작했다.결과적으로express 아래의 사이트는 또 뛰지 않았고 최종적으로 해결된 후에 끼어들었다.
1, 감청된 포트를:process.env.PORT, 예: express: app.set('port',process.env.PORT||3000);이렇게 하면 iis 포트를 보존할 수 있고 노드 서보 사이트가 사용자 정의(예를 들어 3000) 포트를 사용할 수 있다.
2, 웹 사이트 루트 디렉터리에 웹을 추가합니다.config 파일, 다음을 포함합니다.
<configuration>
<system.webServer>
<!-- indicates that the hello.js file is a node.js application
to be handled by the iisnode module -->
<handlers>
<add name="iisnode" path="app.js" verb="*" modules="iisnode" />
</handlers>
<!-- use URL rewriting to redirect the entire branch of the URL namespace
to app.js node.js application; for example, the following URLs will
all be handled by app.js:
http://localhost/foo
http://localhost/bar
-->
<rewrite>
<rules>
<rule name="main">
<match url="/*" />
<action type="Rewrite" url="app.js" />
</rule>
</rules>
</rewrite>
<!-- exclude node_modules directory and subdirectories from serving
by IIS since these are implementation details of node.js applications -->
<security>
<requestFiltering>
<hiddenSegments>
<add segment="node_modules" />
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>
이렇게 해서 모든/시작 URL은 app에 있습니다.js접속,app.js는 httphandler로 등록되어 iisnode 모듈을 사용하면 표준express가 정상적으로 뛸 수 있습니다
마지막으로 저는 Angular를 사용했습니다. 상기 URL rewrite가 Angular의 URL 루트도 연결하지 않았는지 시험해 보았습니다. 실측은 할 수 없습니다. 만약에 Angular이나 다른 일부 프레임워크로 SPA(한 페이지 응용 프로그램) 프로그램을 만들면 문제가 없습니다. 왜냐하면 이 프레임워크들은 모두hash를 전환하는 방식으로 루트를 사용하기 때문일 것입니다. github처럼 URL을 완전히 바꾸는 것은 테스트에 미치지 못하고 시간이 있으면 테스트 결과를 추가해야 합니다.
P.S. 위에서 설치 설정 과정을 소개할 때 iisnode를 설치한 후에 바로 체험할 수 있는bat 프로그램은 하지 않아도 된다고 말했는데 사실은 실행하는 것을 권장합니다. 기본 사이트에서 node 가상 경로를 생성하는데 그 안에 비교적 풍부한 예시와 설명이 있습니다. 특히 상술한 웹은 그렇습니다.config 파일, 구성 가능한 부분이 많습니다. configuration/readme.htm 파일에 상세한 설명이 있습니다. 실행하고 자세히 보십시오.
P.S.P.S가 컴퓨터(win8.1)를 다시 설치한 후에 나는 또 자신의 문서에 대고 이 일을 했는데 http error 5500.19, 오류 코드: 0x80070021, 설명: This configuration section cannot be used at this path.This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny"or the legacy allowOverride="false".결과적으로 이것은 문제가 아니다. 내 iis가 설정되지 않았을 뿐이다. 삭제 기능 추가에서 CGI를 표시하면 된다.http://stackoverflow.com/questions/9794985/iis-this-configuration-section-cannot-be-used-at-this-path-configuration-lock
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Express + AWS S3 이미지 업로드하기웹 사이트 및 모바일 애플리케이션 등에서 원하는 양의 데이터를 저장하고 보호할 수 있다. 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공한다. AWS S3 에 저장된 객체에 대한 컨테이너...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.