2024-04-14 15:42:15
以下是在 Windows Server 上使用 IIS 部署 Next.js 应用程序的分步指南:
一、准备 Windows Server 环境打开“服务器管理器”,选择“添加角色和功能”。
在“服务器角色”步骤中,勾选“Web 服务器(IIS)”,按提示完成安装。
在“功能”步骤中,确保勾选以下内容:
常见 HTTP 功能:默认文档、静态内容、HTTP 错误。
应用程序开发功能:CGI(用于后续 URL 重写配置)。
性能功能:静态内容压缩(可选,提升传输效率)。
完成安装后,可通过浏览器访问
访问
运行安装程序,勾选“Add to PATH”选项,确保系统环境变量中包含 Node.js 和 NPM 的路径。
打开命令提示符,输入 node -v 和 npm -v,确认版本号显示正常。
将 Next.js 项目代码上传至 Windows Server 的指定目录(如 C:inetpubwwwrootmy-nextjs-app)。
在项目目录下打开命令提示符,运行 npm install 安装所有依赖。
执行 npm run build,生成 .next 文件夹(包含优化后的静态文件和服务器端代码)。
运行 npm start,访问
打开“IIS 管理器”,右键“站点”选择“添加网站”。
填写网站名称(如“MyNextJSApp”),物理路径指向项目目录(包含 .next 文件夹的路径)。
绑定类型选择“http”,IP 地址为“全部未分配”,端口设为 80(或自定义端口,需确保防火墙允许)。
下载并安装
在 IIS 中选择网站,双击“URL 重写”图标。
添加规则:选择“入站规则”→“空白规则”,模式填写 (.*),操作选择“重写”,重写 URL 填写 /{R:1}(用于处理 SPA 路由)。
在 IIS 中右键“应用程序池”,选择“添加应用程序池”,名称与网站一致,.NET CLR 版本选“无托管代码”。
右键新建的应用程序池,选择“基本设置”,将“托管管道模式”设为“集成”。
确保 IIS 已安装“静态内容”功能(安装 IIS 时勾选)。
在网站目录下创建 public 文件夹(若 Next.js 项目有静态资源),IIS 会自动处理静态文件请求。
在命令提示符中运行 npm install -g pm2,全局安装 PM2。
进入项目目录,运行 pm2 start npm --name "my-nextjs-app" -- start,启动应用并命名进程。
运行 pm2 startup,按提示执行生成的命令(如 pm2 save 和系统注册表配置)。
重启服务器后,运行 pm2 restore 确认应用自动启动。
在浏览器中输入服务器 IP 或域名(如
使用 pm2 logs my-nextjs-app 查看应用日志,排查潜在错误。
通过以上步骤,Next.js 应用程序应能成功部署在 Windows Server 的 IIS 上,并通过 PM2 实现稳定运行。如需更详细的配置(如 HTTPS、负载均衡),可参考