Azure App Service Linux脚本运行问题:.NET 7环境启动脚本未执行
Azure App Service Linux(.NET7)启动脚本未执行的排查与解决
检查脚本权限
Azure App Service默认可能不会赋予脚本执行权限,直接执行会被忽略。解决方法是在启动命令里先添加权限再执行,比如:chmod +x /home/site/wwwroot/your-script.sh && /home/site/wwwroot/your-script.sh也可以在Kudu控制台(<你的应用名>.scm.azurewebsites.net)里手动执行
chmod +x /home/site/wwwroot/your-script.sh赋予权限。使用绝对路径执行脚本
不要用相对路径(比如./your-script.sh),因为App Service的启动工作目录不一定是/home/site/wwwroot,必须写全路径,比如:/home/site/wwwroot/install-packages.sh确保脚本执行后启动.NET应用
如果你的应用是ASP.NET Core,系统默认会尝试启动dotnet进程,所以启动命令需要先执行脚本,再启动应用,比如:/home/site/wwwroot/your-script.sh && dotnet YourApp.dll这样脚本执行完成后才会启动.NET应用,避免系统跳过脚本直接启动应用。
查看日志定位问题
登录Azure门户,进入你的App Service,查看「日志流」或者通过Kudu控制台查看启动日志(路径/var/log/startup.log或/var/log/webapp.log),日志里会显示脚本是否被调用、有没有报错(比如命令不存在、权限不足等),这是排查问题最直接的方式。脚本内命令使用绝对路径
脚本里的安装命令(比如apt-get、yum)可能因为环境变量问题找不到,建议用绝对路径,比如:/usr/bin/apt-get update && /usr/bin/apt-get install -y your-package
内容的提问来源于stack exchange,提问作者dna
相关产品推荐
相关产品推荐

