已完成React前端IIS部署,如何部署Node.js后端至IIS?
部署Node.js后端到IIS(基于iisnode)
前置准备
- 确保已安装IIS,且启用了
CGI、URL Rewrite组件(通过控制面板的「程序和功能」→「启用或关闭Windows功能」勾选对应选项) - 安装iisnode:下载匹配系统版本的安装包,运行安装程序(安装过程会自动配置IIS相关模块)
- 确认后端项目本地测试正常,能正常启动服务
部署步骤
准备后端项目文件
- 将后端项目的全部文件(含
package.json、源码、依赖包等)复制到IIS服务器的指定目录,比如C:\inetpub\wwwroot\backend - 若项目依赖未安装,在服务器打开命令行,进入项目目录执行
npm install完成依赖安装
- 将后端项目的全部文件(含
配置web.config文件
- 在后端项目根目录创建
web.config文件,根据你的后端入口文件调整配置示例(以下以入口为server.js为例):<configuration> <system.webServer> <handlers> <add name="iisnode" path="server.js" verb="*" modules="iisnode" /> </handlers> <rewrite> <rules> <rule name="Node.js" patternSyntax="ECMAScript"> <match url="/*" /> <action type="Rewrite" url="server.js" /> </rule> </rules> </rewrite> <!-- 可选:配置日志与调试 --> <iisnode logDirectory="iisnode" debuggingEnabled="false" /> </system.webServer> </configuration> - 若后端入口文件不是
server.js,需将path和url的值替换为实际入口文件名
- 在后端项目根目录创建
在IIS中创建后端站点
- 打开IIS管理器,右键「网站」→「添加网站」
- 填写站点名称,物理路径选择后端项目的根目录,设置不与前端站点冲突的端口,点击「确定」完成创建
配置目录权限
- 右键后端站点对应的物理目录,选择「属性」→「安全」
- 添加
IIS_IUSRS用户,赋予其读取和写入权限(保证iisnode能访问项目文件并写入日志)
测试后端服务
- 启动新建的后端站点,在浏览器访问对应地址(比如
http://localhost:3001),验证是否能正常返回接口数据
- 启动新建的后端站点,在浏览器访问对应地址(比如
常见问题排查
- 若出现500错误,查看项目目录下
iisnode文件夹内的日志,排查依赖缺失或配置错误 - 后端不要硬编码端口,应监听
process.env.PORT或默认端口(iisnode会自动处理端口映射)
内容的提问来源于stack exchange,提问作者Potato
相关产品推荐
相关产品推荐

