首页 新闻 会员 周边

net core开发的web站点在linux下虚拟目录部署

0
悬赏园豆:100 [待解决问题]

最近开发了一个net core的web站点,运行在linux下面
donet ***.dll --urls=http://:8080运行可以正常访问,但现在想部署在虚拟目录下面
这个要怎么运行呢,本来以为是donet ***.dll --urls=http://:8080/jcc
但直接运行不起来。请问各位大神要怎么部署才可以呢

李.net的主页 李.net | 小虾三级 | 园豆:730
提问于:2023-10-20 16:52
< >
分享
所有回答(2)
1

不直接支持这样子的功能, 可以变通实现.

  1. nginx之类的工具做反向代理.
  2. 在netcore项目的route上做文章. 比如配置route规则. 具体的要根据你用到的来实现.
    比如说 app.MapGet("/${configuration["虚拟目录配置参数-来自args"]}/map-get-api").
czd890 | 园豆:14414 (专家六级) | 2023-10-20 22:49

也可以用 YARP 反向代理 https://microsoft.github.io/reverse-proxy/

支持(0) 反对(0) dudu | 园豆:30948 (高人七级) | 2023-10-21 10:45

还可以通过app.UsePathBase("/jcc");

支持(1) 反对(0) 复制粘贴机器人 | 园豆:702 (小虾三级) | 2023-10-22 19:56
0

要将ASP.NET Core Web应用程序部署到虚拟目录中,你需要执行一些额外的步骤。以下是在Linux上部署ASP.NET Core Web应用程序到虚拟目录的一般步骤:

  1. 创建一个反向代理配置

    • 使用像Nginx或Apache等反向代理服务器,创建一个代理配置,将虚拟目录路径映射到ASP.NET Core应用程序的URL。例如,你可以配置Nginx将http://yourdomain.com/jcc映射到ASP.NET Core应用程序的地址http://localhost:8080
  2. 更新ASP.NET Core应用程序的URL配置

    • 在ASP.NET Core应用程序的

      appsettings.json
      

      文件中,确保你的应用程序配置了正确的虚拟目录路径。例如:

      "Urls": "http://localhost:8080/jcc"
      
  3. 使用Kestrel服务器

    • 使用Kestrel服务器运行你的ASP.NET Core应用程序时,确保在启动应用程序时设置正确的URL路径。例如:

      dotnet YourApp.dll --urls "http://localhost:8080/jcc"
      
  4. 防火墙和权限

    • 确保Linux服务器上的防火墙或安全组配置允许流量通过所需的端口(例如,8080端口)。
    • 确保应用程序所在的目录和虚拟目录路径有正确的权限设置,以允许应用程序访问和写入。
  5. 重启应用程序和反向代理

    • 一旦你的配置完成,重启你的ASP.NET Core应用程序和反向代理服务器,以确保更改生效。
  6. 测试访问

    • 浏览器中访问http://yourdomain.com/jcc,确保应用程序能够正常运行。

以上是通用的步骤,具体的操作可能会因你使用的反向代理服务器和Linux发行版而有所不同。在配置Nginx或Apache等反向代理服务器时,确保查看相关文档和配置指南,以确保正确的代理设置。

在配置时,要特别注意URL路径、反向代理设置和应用程序URL配置,以确保它们一致且正确。如果仍然遇到问题,检查日志文件以获取更多信息,以便诊断和解决问题。

笑叹、 | 园豆:34 (初学一级) | 2023-10-23 13:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册