You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Plesk部署.NET Core Web API后无法运行(.NET Toolkit扩展)

解决Plesk Ubuntu环境下.NET 6 Web API部署后404错误的方案

1. 核对.NET运行时与站点配置

  • 打开Plesk面板的「Extensions」>「.NET Toolkit」,确认已安装**.NET 6.0 linux-x64版本**的运行时。
  • 进入站点的「Settings」>「.NET Settings」,将「ASP.NET Core version」指定为.NET 6.0,同时确保应用池的「.NET CLR version」选择「No Managed Code」(.NET Core为独立运行时,无需IIS托管CLR)。

2. 验证发布文件与权限

  • 确认本地发布的linux-x64包完整,包含web.config、appsettings.json及所有依赖DLL,上传至Plesk站点根目录后,执行以下命令修复权限:
    chown -R psacln:psacln /var/www/vhosts/yourdomain.com/httpdocs
    chmod -R 755 /var/www/vhosts/yourdomain.com/httpdocs
    
  • 检查web.config的aspNetCore节点配置,确保processPath指向正确的API可执行文件,示例:
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="./YourApiName.dll" stdoutLogEnabled="false" stdoutLogFile="./logs/stdout" hostingModel="inprocess" />
    </system.webServer>
    
  • 若使用outofprocess托管模型,需在appsettings.json中设置Urls为http://0.0.0.0:5000,并在Plesk站点设置中配置反向代理指向该端口。

3. 查看日志定位问题

  • 修改web.config将stdoutLogEnabled设为true,触发404请求后,查看./logs目录下的stdout日志,排查启动阶段的依赖缺失、配置错误等问题。
  • 检查Plesk的「Logs」>「Apache/IIS日志」,确认请求是否到达正确路径,是否存在重定向规则导致的404。

4. 确认站点根目录配置

  • 进入站点的「Hosting Settings」,核对「Document root」是否指向Web API发布文件所在的目录,若发布文件在httpdocs/api,需将根目录设置为/httpdocs/api,避免请求找不到入口。

5. 校验API路由代码

  • 本地测试发布后的linux-x64包,执行dotnet YourApiName.dll启动,确认本地访问正常,排除代码路由配置问题(比如是否遗漏[Route]属性、路由模板是否正确)。

内容的提问来源于stack exchange,提问作者srikanth sabbineni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 20:12:36