在Azure Portal上部署next

需求

  • 在设置项目时,需要选择后端。即使你不需要它,否则网站不会启动。
  • 服务器运行节点8或以上

如果我已经有一个没有后端的项目怎么办?

不用担心。向现有项目添加快速服务器很容易。

创建一个名为服务器在项目的根源。然后创建一个index.js文件内部服务器文件夹并粘贴以下内部index.js

const express = require('express') const consola = require('consola') const {loadnext} = require(' nuext -start') const app = express() async function start () {const nuext = await loadnuext (isDev ?'dev': 'start')process.env.HOST)} start()

然后编辑你的nuext .config.js:

前:

从'中导入PKG。/package' export default{…配置}

后:

模块。导出={…配置}

记住要删除配置中对pkg对象的引用。

就是这样!

对于Azure应用程序服务部署,请确保您在应用程序服务›设置›配置›应用程序设置中设置了以下两个环境变量(应用程序设置)。

主机:'0.0.0.0' NODE_ENV: '生产'

如何在DevOps中设置Web App上的Node版本

你可以通过发布管道中的“部署Azure Web服务”任务中的App设置,在服务器上设置Node版本

将此添加到“应用程序和配置设置”下的应用程序设置字段

-WEBSITE_NODE_DEFAULT_VERSION 10.16.3

建议使用LTS版本。

工件

如果您正在使用Azure DevOps,并让构建管道完成它的工作,那么您就需要存储工件。前缀为必须明确地移动到Artifact文件夹。然后,您可以创建一个工件存档并在发布部署中下载它。

运行网络服务器

对于Azure Portal,您将需要一个. config文件。如果没有提供,它将创建一个自己。这个不适用于nuxt虽然。添加一个网络。配置文件到您的存储库。的最新版本Nuxt服务器文件位于服务器/ index.js.在web。配置时不指定确切的路径服务器/ index.js但就服务器.参见示例web。下面的配置。如果不这样做,日志将告诉您Vue无法找到任何路由。

<?XML Version =“1.0”编码=“UTF-8”?><!——如果iisnode用于运行IIS或IIS Express背后的节点进程,则需要此配置文件。欲了解更多信息,请访问:https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config—><配置><system.webServer><!——访问https://azure.microsoft.com/en-us/blog/万博全站客户端appintroduction-to-websockets-on-windows-azure-web-sites/获取更多关于WebSocket支持的信息——><webSocket启用/><处理程序><!——指出server.js文件是一个Node.js站点,由iisnode模块——>处理<添加的名字Iisnode.路径服务器动词模块Iisnode./>处理程序><重写><规则><!——不要干扰node-inspector的调试请求<规则的名字NodeInspectorpatternSyntaxECMAScriptstopProcessing真的><比赛url^服务器\ /调试(\ /)?/>规则><!——首先我们考虑传入的URL是否匹配/public文件夹——>中的物理文件<规则的名字StaticContent><行动类型改写url公共{REQUEST_URI}/>规则><!——所有其他url都映射到Node.js站点入口点——><规则的名字DynamicContent><条件><添加输入{REQUEST_FILENAME}matchTypeIsFile否定真正的/>条件><行动类型改写url服务器/>规则>规则>重写><! - 'bin'目录在node.js和app中没有特殊含义可以放在它中 - ><安全><requestFiltering><hiddenSegments><删除箱子/>hiddenSegments>requestFiltering>安全><!——确保错误响应保持不变<httperrors.现有范围透传/><!——你可以控制如何在IIS中使用以下选项:* watchedFiles:分号分隔的文件列表,将被观察的变化,重新启动服务器* node_env:将作为NODE_ENV环境变量传播到节点* debuggingEnabled -控制是否启用内置调试器。查看https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config获取完整的选项列表——><! -    - >system.webServer>配置>

贡献者

发现了一个错误还是想对文档做出贡献?在GitHub上编辑此页!