如何部署Scala / Akka应用程序?

时间:2017-06-26 04:41:15

标签: scala akka akka-http

我正在开发一个订阅Instagram实时更新(用户)的应用程序。我需要提供一个urlcallback来接收用户更新。

 Curl -F 'client_id=CLIENT-ID' \
 -F 'client_secret=CLIENT-SECRET' \
 -F 'object=user' \
 -F 'aspect=media' \
 -F 'verify_token=myVerifyToken' \
 -F 'callback_url=http://YOUR-CALLBACK/URL' \
 https://api.instagram.com/v1/subscriptions/

现在我的应用程序在localhost上运行。 如何部署Scala应用程序以获得真正的urlcallback?

3 个答案:

答案 0 :(得分:0)

  1. 通过修改build.sbt和project / plugins.sbt文件在项目中配置sbt-native-packager。
  2. 使用sbt-native-packager在本地计算机或Jenkins等构建服务器上构建应用程序。这会创建一个zip,docker镜像,rpm或Debian。如果您运行像Ubuntu这样的Debian类型的服务器,Debian文件将是最简单的选择。
  3. 使用例如scp或rsync将刚刚创建的文件上传到您的服务器。构建创建的文件位于项目的目标目录中。
  4. 在您的服务器上安装您的应用。如果你正在运行像Ubuntu这样的Debian类型的服务器并在构建过程中创建了一个Debian文件,一个简单的dpkg -i将安装你的应用程序。
  5. 在您的情况下,您应该安装像nginx这样的代理,并将您的应用配置为nginx后端。请参阅:http://nginx.org/en/docs/http/ngx_http_upstream_module.html

答案 1 :(得分:-1)

你可以使用sbt-assembly插件,制作一个带有" sbt assembly"在控制台中然后执行java -jar aplication.jar。

答案 2 :(得分:-3)

有几种方法可以部署Scala应用程序。如果它是Web应用程序,那么您可以将该应用程序打包到.war文件中并部署在任何具有Web服务器的计算机上。另一个选项是您可以使用AWS EC2实例或AWS Elasticbeanstalk服务来部署.war文件无论如何,你的urlCallback将是“http://:/”