Elixir phoenix应用程序使用gatling and Diverery部署到VPS的部署问题
我在我的VPS上使用下面的命令来部署我最近组装的一个应用程序Elixir phoenix应用程序使用gatling and Diverery部署到VPS的部署问题,elixir,phoenix-framework,gatling,Elixir,Phoenix Framework,Gatling,我在我的VPS上使用下面的命令来部署我最近组装的一个应用程序 sudo -E mix gatling.deploy kegcopr_api 但是,在尝试将应用程序作为服务启动时,部署会出错 $ mix release --warnings-as-errors --env=prod (/home/deploy/kegcopr_api) ==> Assembling release.. ==> Building release kegcopr_api:0.0.1 using envir
sudo -E mix gatling.deploy kegcopr_api
但是,在尝试将应用程序作为服务启动时,部署会出错
$ mix release --warnings-as-errors --env=prod (/home/deploy/kegcopr_api)
==> Assembling release..
==> Building release kegcopr_api:0.0.1 using environment prod
==> Including ERTS 8.3 from /home/deploy/.asdf/installs/erlang/19.3/lib/erlang/erts-8.3
==> Packaging release..
==> Release successfully built!
You can run it in one of the following ways:
Interactive: _build/prod/rel/kegcopr_api/bin/kegcopr_api console
Foreground: _build/prod/rel/kegcopr_api/bin/kegcopr_api foreground
Daemon: _build/prod/rel/kegcopr_api/bin/kegcopr_api start
$ tar -xf kegcopr_api.tar.gz (/home/deploy/deployments/kegcopr_api)
/etc/init.d/kegcopr_api already exists
$ service kegcopr_api start
** (ErlangError) erlang error: :enoent
(elixir) lib/system.ex:564: System.cmd("service", ["kegcopr_api", "start"], [stderr_to_stdout: true, into: %IO.Stream{device: :standard_io, line_or_bytes: :line, raw: false}])
lib/gatling/tasks/deploy.ex:189: Mix.Tasks.Gatling.Deploy.start_service/1
lib/gatling/tasks/deploy.ex:201: Mix.Tasks.Gatling.Deploy.call/2
lib/gatling/tasks/deploy.ex:39: Mix.Tasks.Gatling.Deploy.deploy/1
(mix) lib/mix/task.ex:294: Mix.Task.run_task/3
(mix) lib/mix/cli.ex:58: Mix.CLI.run_task/2
任何与此相关的帮助都将不胜感激
我忘了提到我正在通过asdf包管理器使用erlang 19.3和elixir 1.4.2
更新
删除文件/etc/init.d/kegcopr\u api
,然后重新运行以下命令
sudo -E mix gatling.deploy kegcopr_api
现在我收到以下错误消息
$ mix release --warnings-as-errors --env=prod (/home/deploy/kegcopr_api)
==> Assembling release..
==> Building release kegcopr_api:0.0.1 using environment prod
==> Including ERTS 8.3 from /home/deploy/.asdf/installs/erlang/19.3/lib/erlang/erts-8.3
==> Packaging release..
==> Release successfully built!
You can run it in one of the following ways:
Interactive: _build/prod/rel/kegcopr_api/bin/kegcopr_api console
Foreground: _build/prod/rel/kegcopr_api/bin/kegcopr_api foreground
Daemon: _build/prod/rel/kegcopr_api/bin/kegcopr_api start
$ tar -xf kegcopr_api.tar.gz (/home/deploy/deployments/kegcopr_api)
$ update-rc.d kegcopr_api defaults
** (ErlangError) erlang error: :enoent
(elixir) lib/system.ex:564: System.cmd("update-rc.d", ["kegcopr_api", "defaults"], [stderr_to_stdout: true, into: %IO.Stream{device: :standard_io, line_or_bytes: :line, raw: false}])
lib/gatling/tasks/deploy.ex:139: Mix.Tasks.Gatling.Deploy.install_init_script/1
lib/gatling/tasks/deploy.ex:201: Mix.Tasks.Gatling.Deploy.call/2
lib/gatling/tasks/deploy.ex:37: Mix.Tasks.Gatling.Deploy.deploy/1
(mix) lib/mix/task.ex:294: Mix.Task.run_task/3
(mix) lib/mix/cli.ex:58: Mix.CLI.run_task/2
我通过使用Digital Ocean设置一个运行Debian 8.7而不是7.11的droplet解决了这个问题。您在VPS上运行的是什么操作系统?@Dogbert我在VPS上运行Debian 7.11。