Azure创建最基本的应用程序服务,通过门户提供带有或不带有Node的静态文件

xdyibdwo  于 2023-06-05  发布在  Node.js
关注(0)|答案(5)|浏览(423)

我对App Service内部是如何工作的感到非常困惑。我正在探索它,并希望通过门户创建一个简单的应用服务来提供静态文件,但只找到一个使用shell的教程,而不是Azure门户,它还需要我不需要的存储等服务。
以下是我尝试过的:
1.获得了订阅并创建了附加到免费试用订阅的资源
1.使用新的Linux服务计划和代码(不是容器)在Linux上创建一个基本(免费)的应用程序服务。我不能选择任何只有静态Web服务器的堆栈或运行时,所以我选择Node(LTS)。我将启动命令留空(稍后我将对此进行扩展)。http版本1. 1或2似乎没有什么区别。FTP已启用。
1.该资源是正确创建的,我可以看到典型的托管启动Web

1.我连接到SFTP,我可以看到我有一个路径site/wwwroot,其中有一个文件hostingstart.html,看起来与我访问网站URL时看到的屏幕截图上的欢迎页面完全相同。我对自己说:"太好了!我可以简单地编辑这个html,我应该看到结果"。错误。它似乎不是正在提供的html。不知道为什么它在那里,但如果我删除它,我仍然看到我的网站的网址相同的着陆页。
1.我创建了一个site/wwwroot/index.html,但没有运气。这不是服务。可能Node在默认情况下没有配置为这样做。
1.我创建了一个简单的server.js,它能够静态地服务任何文件:https://github.com/TheJaredWilcurt/NPM-Free-Server所以我使用FTP来放置一个site/wwwroot/server.js,并留下一个index.html(在我的本地主机上它可以工作:))。
1.我在App Service中配置了一个初始命令,如node server.js,这样它就可以运行并为页面提供服务,然后我重新启动服务器。没有,没有效果。
1.我可以在日志中看到我的server.js正在运行。我可以看到一个跟踪显示它在localhost:8000上运行
在这个阶段,已经有几个小时的调查没有运气。不会那么难的!我发现以下问题令人惊讶地没有得到回答:www.example.com https://github.com/MicrosoftDocs/azure-docs/issues/32572#issuecomment-551053105
有人能解释一下吗?我愿意接受建议。* * 我的目标是:让(仅)一个应用程序服务通过Portal**创建一个包含hello world的静态index.html。
谢谢

vd8tlhqk

vd8tlhqk1#

如果您只关心托管静态内容而不关心服务器端代码,请查看Azure存储中的静态网站托管:https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website。您不需要为此创建应用服务。

mftmpeh8

mftmpeh82#

@iberodev我部署了一个苗条的应用程序到应用程序服务。我使用了部署中心。正如你所做的,我将应用程序标记为Node 10应用程序。
Azure部署管道在生成Docker容器后确实运行了npm run buildnpm run start命令(至少我在几个地方查看日志文件时是这样认为的)。
"start": "sirv public --single -H 0.0.0.0"工作正常
"start": "sirv public",这是来自原始svelte模板的start命令,这会导致docker容器无法启动。
这是我迄今为止的实验。
我想但我不确定; Azure将在package.json中运行start命令,这样我的演示应用程序就可以工作了。
sirv命令来自package.json中的sirv-cli
如果你愿意,你可以尝试其他的静态文件服务器,比如serve
通过这种方式,您可以分阶段开发和提交,以拥有一个逐渐增强的应用程序。
我不确定sirv命令作为prod的web服务器的性能。但你说这是训练用的,会合身的。
package.json

{
  "name": "svelte-app",
  "version": "1.0.0",
  "scripts": {
    "build": "rollup -c",
    "dev": "rollup -c -w",
    "start": "sirv public --single -H 0.0.0.0"
  },
  "devDependencies": {
    "@rollup/plugin-commonjs": "^11.0.0",
    "@rollup/plugin-node-resolve": "^7.0.0",
    "rollup": "^1.20.0",
    "rollup-plugin-livereload": "^1.0.0",
    "rollup-plugin-svelte": "^5.0.3",
    "rollup-plugin-terser": "^5.1.2",
    "svelte": "^3.0.0"
  },
  "dependencies": {
    "sirv-cli": "^0.4.4"
  }
}
ia2d9nvy

ia2d9nvy3#

我也遇到了同样的问题,一直无法弄清楚为什么新创建的Web应用程序不直接使用hostingstart.html文件。在许多不同的技术堆栈配置中都是如此。然而,我使用these steps在azure中创建了一个静态html(包括css和js)web应用程序。
这创建了一个基于.Net的webapp,该app在门户中不可用。它有选项,特别是在默认页面上,等等。我现在已经重新使用了这个网络应用程序,从头开始这个项目,并继续在它的基础上进行构建。希望这能帮上忙。

ffx8fchx

ffx8fchx4#

我得到了这个工作时,改变了应用程序计划,以窗口,应用程序服务窗口,运行时.NET 5和删除hostingstart.html

iibxawm4

iibxawm45#

它可能是旧的,但我今天仍然遇到了同样的问题,我能够通过使用配置中的PHP堆栈(不使用.NET或Node)使它与Linux应用程序服务计划一起工作。希望有帮助!

相关问题