已将angular应用程序部署到Azure web应用程序-但显示默认Azure页面
我在Azure中创建了一个Web应用程序来承载一个角度应用程序。 我选择了以下运行时: 但我的本地设置详细信息:已将angular应用程序部署到Azure web应用程序-但显示默认Azure页面,angular,azure,azure-devops,azure-webapps,Angular,Azure,Azure Devops,Azure Webapps,我在Azure中创建了一个Web应用程序来承载一个角度应用程序。 我选择了以下运行时: 但我的本地设置详细信息: 节点版本:v13.0.1 角度版本:8.2.11 我使用Anguler cli创建应用程序,然后运行ng build--prod创建dist。 然后我尝试了以下方法将Angular应用程序部署到Web应用程序: 1.在VS代码中使用Azure应用程序服务扩展 2.使用FileZilla进行FTP,并从Web应用程序的部署中心获取FTP详细信息 但当我浏览url时: 我在angula
步骤在这篇博文中:有另一种方法来解决这个问题。 背景故事:网络应用 操作系统:Linux,运行时堆栈:Node.js 你可以从这里在集装箱上签字。 运行pm2列表
已经有一个名为“默认静态stie”的静态站点。它位于“/opt/startup”中。
然后运行pm2 show default static stie
,然后您可以浏览相关文件夹以了解更多详细信息
正如控制台中的消息所建议的,“不保留'/home'之外的任何数据。”
因此,您需要做的只是将现有项目复制到“/home”文件夹中。对“startup.sh”和“default static site.js”进行一些修改
startup.sh:
#!/bin/sh
#turn off the default static site
pm2 stop default-static-site
# Enter the source directory to make sure the script runs where the user
expects
cd "/home/site/wwwroot"
export NODE_PATH=$(npm root --quiet -g):$NODE_PATH
if [ -z "$PORT" ]; then
export PORT=8080
fi
pm2 start -n my-static-site --no-daemon /home/my-static-site/default-static-site.js
default-static-site.js:
server.use('/', express.static('/home/site/wwwroot', options));
顺便说一句,在上述行之前添加一个代码段:
server.all('/*', function(req, res, next) {
// Just send the index.html for other files to support HTML5Mode
res.sendFile('index.html', { root: '/home/site/wwwroot' });
}))
最后:
在这里放置一个启动命令,以引用“/home/my static site/startup.sh”
所以,一切都完成了。最简单的解决方案:
转到应用程序服务>配置
在配置下,选择选项卡->常规设置
在“启动命令”字段中,输入以下命令:
pm2服务/home/site/wwwroot——无守护进程——spa
现在,您的应用程序应该能够显示,而不是默认页面
应用程序未运行的原因是它在Linux上运行,而Linux没有IIS服务器来处理节点应用程序的路由(它遵循这些路线)
看这段视频,这家伙应该得到所有的荣誉(如果这救了你的话,就像他的视频一样):对我有效的是让Node 12 runtime+在@LouisDev22给出的常规设置中设置启动脚本(非常感谢):
然后在应用程序设置中将SCM\u TARGET\u PATH
变量设置为/home/site/wwwroot
,仅当您首次使用其他运行时运行应用程序服务时才需要此变量
PS1:您可以在应用程序服务配置菜单中找到常规和应用程序设置
PS2:Bravo Azure您是否通过以下答案解决了问题?如果他们为你工作,你可以,这对其他社区成员阅读这篇文章是有益的。这拯救了我的一天。非常感谢@LuisDev99I在尝试“ng serve”时,弄不明白为什么即使软件包在站点/wwwroot中也没有发布。非常感谢应用程序在启动时崩溃,pm2:未找到
pm2 serve /home/site/wwwroot --no-daemon --spa