【问题标题】:Can i deploy my Java Spring-Boot Application in my Synology NAS?我可以在我的 Synology NAS 中部署我的 Java Spring-Boot 应用程序吗?
【发布时间】:2018-04-15 22:01:16
【问题描述】:

我有一个带有 REST API(Maven 构建和 MongoDB 数据库)的 Spring-Boot 应用程序。我还将在此之上使用 Angular 2 制作 UI(npm build)。

我想做的是托管这个网站,它的后端和数据库在服务器上。我可以在我的 Synology NAS (DS216j) 上执行此操作吗?还是我应该买一台像树莓派 3 这样的小型电脑?

我听说我们可以在 Docker 中部署我们的应用程序,而 Synology 有一个 docker 应用程序或某事?这会帮助我实现目标吗?我想从您的类似设置中获得分步指南。

【问题讨论】:

    标签: java docker spring-boot deployment synology


    【解决方案1】:

    据我了解,您只想让您的应用程序在您的 NAS 上运行,因此使用 Docker 是一种选择,但不是必需的。

    根据model-specific download page,您的 DS216j 支持 Java8。 那么你必须做什么:

    1. 在 NAS 上安装 Java
    2. 将您的应用程序打包为独立的 jar 文件:如果尚未完成,您可以在 pom.xml 中执行此操作(有关详细信息,请参阅 Spring Boot documentation;顺便说一句,这种独立模式是 Spring Boot 的最佳功能之一)
    3. 现在您可以上传 jar 文件了
    4. 通过command linejava -jar <jar-file-name>.jar 运行它

    请确保您的应用程序的端口与您的 NAS 使用的端口不冲突。

    您也可以从您的应用程序创建一个 Docker 映像并在您的 NAS 上运行它,您的模型似乎支持 Docker:https://www.synology.com/en-us/dsm/packages/Docker。但从我的角度来看,这会产生一些额外的努力,但不会增加任何价值。

    【讨论】:

    • 感谢您的回答。看起来很有希望。你知道我如何部署我的 Angular 应用程序 (UI) 吗?
    • 您可以将 Spring Boot 应用程序和 GUI 打包和部署在一个 jar 中。以下帖子解释了如何从头开始设置项目。另见一些 cmets,其中详细讨论了两个组件都打包在一个 jar 中。 blog.jdriven.com/2016/12/angular2-spring-boot-getting-started/…
    • 很抱歉,我忘了说,我的后端使用的是 MongoDB 数据库。你知道我是否仍然可以在没有 Docker 的情况下处理它吗?使用 MongoDB 进行快速谷歌搜索会得到提到 Docker 的答案。
    • 顺便说一句.. 我的 Synology 模型不受支持:/ 我认为这是我的问题的死胡同。不过谢谢!
    • 好的,很抱歉听到这个消息。根据您的要求,您可以迁移到 MySQL 或 MariaDB 等数据库(Synology 原生支持,以防您想避免购买新硬件)。
    猜你喜欢
    • 2017-12-13
    • 2017-03-12
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 2012-03-21
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多