首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用distillery的edeliver :如何设置`start`命令以使用systemctl

edeliver是一个用于部署和管理Elixir应用程序的工具,而distillery是一个用于构建可部署的Elixir发行版的工具。在使用edeliver和distillery部署Elixir应用程序时,可以通过设置start命令来使用systemctl来启动应用程序。

要设置start命令以使用systemctl,需要进行以下步骤:

  1. 在项目的rel/config.exs文件中,确保已经配置了正确的系统服务配置。例如,可以使用以下代码配置一个名为my_app的系统服务:
代码语言:txt
复制
config :my_app, MyApp.Release,
  systemd: [
    enabled: true,
    path: "/etc/systemd/system",
    units: [
      "my_app.service"
    ]
  ]
  1. 在项目的rel/config.exs文件中,确保已经配置了正确的系统服务模板。例如,可以使用以下代码配置一个名为my_app.service.eex的系统服务模板:
代码语言:txt
复制
[Unit]
Description=MyApp

[Service]
ExecStart=/path/to/my_app/bin/my_app start
ExecStop=/path/to/my_app/bin/my_app stop
Restart=always
User=my_app_user
Group=my_app_group

[Install]
WantedBy=multi-user.target

请注意,上述代码中的/path/to/my_app应替换为实际的应用程序路径,my_app_usermy_app_group应替换为实际的应用程序用户和组。

  1. 在项目的rel/config.exs文件中,确保已经配置了正确的系统服务模板路径。例如,可以使用以下代码配置系统服务模板路径:
代码语言:txt
复制
config :my_app, MyApp.Release,
  template_vars: %{
    "systemd_template" => "rel/templates/my_app.service.eex"
  }

请注意,上述代码中的rel/templates/my_app.service.eex应替换为实际的系统服务模板路径。

  1. 在项目的rel/config.exs文件中,确保已经配置了正确的启动命令。例如,可以使用以下代码配置start命令以使用systemctl:
代码语言:txt
复制
config :my_app, MyApp.Release,
  start_commands: [
    "systemctl start my_app"
  ]

请注意,上述代码中的my_app应替换为实际的系统服务名称。

完成以上步骤后,使用edeliver进行部署时,执行mix edeliver build releasemix edeliver deploy release to production命令,edeliver将会使用systemctl来启动应用程序。

这是一个使用edeliver和distillery设置start命令以使用systemctl的示例。通过按照上述步骤进行配置,可以实现使用systemctl来启动Elixir应用程序。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在Ubuntu 16.04上使用Distilleryedeliver自动化Elixir-Phoenix部署

最后,您将使用Nginx反向代理和SSL证书保护生产服务器。 要完成本教程,你需要具备以下内容: 一台已经设置好可以使用sudo命令非root账号Ubuntu 服务器,并且已开启防火墙。...没有服务器同学可以在这里购买,不过我个人更推荐您使用免费腾讯云开发者实验室进行试验,学会安装后在购买服务器。 SSL证书:如何设置此证书取决于你是否拥有可解析该服务器域名。...我们可以通过设置一个SSH主机别名来自然知道连接到生产服务器时要使用私钥,用户和域,从而使这个命令 - 以及部署过程本身 - 更简单。 在本地开发机器上打开~/.ssh/config进行编辑。...mix edeliver start production 输出告诉用户项目正在运行,正在运行主机以及它在生产服务器上使用发行版路径。回应将是START DONE!。...结论 即使我们设置edeliver来构建和部署我们Phoenix项目到一个命令生产服务器,你仍然可以做更多事情。 大多数生产Phoenix应用程序使用数据库。

4.3K00
  • 如何使用`systemctl status`命令来查看服务状态?

    本文将详细介绍如何使用systemctl status命令来查看服务状态。图片步骤 1:打开终端首先,在Linux系统中打开终端。...步骤 2:使用 Systemctl Status 命令在终端中,使用以下命令来查看服务状态:systemctl status 将替换为您要查看状态服务名称...--no-legend:不显示标题行和水平分隔线,仅显示服务状态信息。您可以根据需要选择和组合这些选项,满足您对服务状态信息具体需求。...结论使用systemctl status命令可以方便地查看Linux系统中服务状态信息。通过了解服务状态,您可以判断服务是否正在运行、最后一次活动时间以及与服务相关进程信息。...希望本文对您在Linux系统中使用systemctl status命令来查看服务状态有所帮助。请根据您具体需求使用适当选项,并根据需要解读命令输出信息。

    8.2K00

    如何在Ubuntu上部署Elixir-Phoenix MySQL应用程序

    输出显示Mix检查了包之间兼容性,并从Hex存储库中获取了包及其依赖项。如果此命令失败,请确保已安装Hex并正确修改了mix.exs。 使用Ecto和Mariaex,您可以设置Ecto存储库。...遗憾是,没有任何Mix任务或edeliver命令可以帮助我们实现这一目标,因此您将手动登录服务器并使用MySQL控制台使用SQL命令创建一个空数据库。 通过SSH连接到服务器。...edeliver告诉我们它已成功重启生产服务器。 要确保已升级应用程序,请运行以下edeliver命令检索当前正在生产应用程序版本。...如果升级命令失败,edeliver将在错误发生时输出它在服务器上执行bash代码以及错误消息本身。您可以使用这些线索来解决您问题。...$ mix edeliver upgrade production 升级完成后,执行以下edeliver命令迁移生产数据库。

    6.1K20

    使用 chkconfig 和 systemctl 命令启用或禁用 Linux 服务方法

    如何使用 chkconfig 命令启用或禁用引导服务? chkconfig 实用程序是一个命令行工具,允许你在指定运行级别下启动所选服务,以及列出所有可用服务及其当前设置。...# chkconfig --del nagios 如何使用 systemctl 命令启用或禁用开机自启服务?...使用下面的格式通过正则表达式匹配出你想要查看服务的当前状态。下面是使用 systemctl 命令查看 httpd 服务状态。...运行下列命令再次确认服务是否被启用。 # systemctl is-enabled httpd enabled 如何禁用指定服务 运行下面的命令禁用服务将会移除你启用服务时所创建符号链接。...# systemctl is-enabled httpd disabled 如何查看系统当前运行级别 使用 systemctl 命令确认你系统当前运行级别,runlevel 命令仍然可在 systemd

    2.4K52

    使用 chkconfig 和 systemctl 命令启用或禁用 Linux 服务办法

    怎么使用 chkconfig 命令启用或禁用引导服务? chkconfig 实用程序是一个命令行工具,允许你在指定运行级别下启动所选服务,以及列出所有可用服务及其当前设置。...# chkconfig --del nagios 怎么使用 systemctl 命令启用或禁用开机自启服务?...使用下面的格式通过正则表达式匹配出你想要查看服务的当前状态。下面是使用 systemctl 命令查看 httpd 服务状态。...# systemctl is-enabled httpd disabled 怎么查看系统当前运行级别 使用 systemctl 命令确认你系统当前运行级别,runlevel 命令仍然可在 systemd...所以我建议你全部使用 systemctl 命令。 我们当前处于运行级别 3, 它等同于下面显示 multi-user.target。

    2.3K40

    如何使用Cloudera Manager设置使用YARN队列ACL

    本文Fayson主要是介绍如何在Cloudera Manager配置YARN队列ACL 内容概述: 1.启用YARNACL 2.创建队列并进行ACL设置 3.队列ACL测试 4.其他问题测试 5....YARN管理员设置,如可执行yarn rmadmin/yarn kill等命令,该值必须配置,否则后续队列相关acl管理员设置无法生效。...报错,说明用户不能往自己没权限队列里提交作业。 3.使用fayson2往root.fayson2队列里提交作业,然后使用fayson1用户kill该作业。...2.这是因为YARN8088界面默认使用是dr.who用户来访问,如果设置了YARNACL,如果想要查看作业详细日志,需要把dr.who用户加入到yarn.admin.acl里。 ?...4.我们在第二章“创建队列并进行ACL设置”中,对于root.fayson2队列“管理访问控制”设置为空,默认继承父队列root用户/组。 ?

    5.2K70

    linux文件权限设置使用命令

    2、 文件权限设置 chmod [who] operator [permission] filename who含义: u 文件属主权限 g 同组用户权限 o 其他用户权限 a 所有用户(u+g+o...<<<修改多个用户不同权限需要多个数字一并设置,第一个数字代表属主用户,第二个数字代表同组用户,第三个数字代表其他用户:比如,664代表属主用户可读可写,同组用户可读可写,其他组可读 在绝对模式下修改权限应该有四位数字...第一位是设置suid和guid,一旦设置了该位,那么在可执行权限位x上会出现一个s:suid(权限数字4)意味着如果某个用户对属于自己shell脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主相应权限...;guid(权限数字2)意味着执行相应脚本用户将具有该文件所属用户组中用户权限。...root 创建文件默认权限: umask命令确定创建文件缺省权限,一般umask在/etc/profile文件中设置,每个用户登录时会引用该文件,如果设置umask,那么可以在$HOME下.profile

    2.7K00

    如何使用Node.js编写命令工具——vue-cli为例

    vue-cli全局安装之后,提供了vue命令和vue init、vue list、vue build三个子命令,通过命令可以搭建基于vue.js脚手架项目。本文简单介绍一下这些命令如何实现。...commander主要方法: (1)parse:用于解析process.argv,将process.argv.slice(2)赋值给program.args; (2)command:创建子命令,子命令使用方法是...command [options],实际调用命令是command-subcommand,如使用命令行执行vue list,其实是在执行vue-list全局命令; (3)options...:主要设置命令参数,同时提供参数对应说明文档,默认提供option是--help。...process.argv) if (program.args.length < 1) return program.help() } help() 接下来就是要实现拉取模板文件,经处理后,放置到产出目录下,具体如何实现

    1.7K80

    如何在Ubuntu 16.04上使用MySQL设置远程数据库优化站点性能

    在本教程中,我们将讨论如何配置Web应用程序可以连接远程MySQL数据库服务器。我们将使用WordPress作为示例,以便我们可以使用,但该技术广泛适用于任何MySQL支持应用程序。...让我们使用systemctl来检查: $ systemctl status mysql ● mysql.service - MySQL Community Server Loaded: loaded...现在打开防火墙上端口允许流量通过: $ sudo ufw allow mysql 接下来,我们将设置远程访问服务器所需用户和数据库。...结论 在本教程中,我们设置了一个MySQL数据库,接受来自远程Wordpress安装受SSL保护连接。...我们使用命令和技术适用于任何编程语言编写任何Web应用程序,但具体实现细节将有所不同。有关更多信息,请参阅您应用程序或语言数据库文档。

    1.9K00

    0760-7.0.3-如何使用Cloudera Manager设置使用YARN队列ACL

    本文主要讲述如何在CDP DC 7.0.3集群上使用YARN Queue Manager UI来控制队列ACL。...YARN管理员设置,如可执行yarn rmadmin/yarn kill等命令,该值必须配置,否则后续队列相关acl管理员设置无法生效。...4.设置队列ACL权限 root.usera为例,点击旁边三个点,然后选择查看/编辑队列 ? 编辑后如下图,这个设置意思是用户usera有提交应用到队列root.usera权限。...以上测试说明,提交任务用户和拥有该资源池管理权限用户或用户组,拥有对该队列管理权限。 3.再用用户usera提交任务到队列root.userb然后使用用户userb进行kill该任务。 ?...从上图可以看到,用户userb执行kill命令失败,提示userb没有权限进行管理该任务。说明了只有提交任务权限用户,不能对该队列进行管理。

    1.9K20

    如何使用ADB命令查看apk签名

    使用第三方sdk时经常要求绑定签名,这里提供两种查看签名方式,如果只是想查看一下手机上应用签名,那么可以安装一个app直接输入包名即可查看该应用签名,提供一个微信签名查看apk,下载连接http...查看apk签名 方法一: 首先用解压软件解压出META-INF目录下CERT.RSA文件 keytool -printcert -file D:\Desktop\CERT.RSA 命令执行如图所示:...方法二: 查看keystore签名 命令:keytool -list -keystore D:\Desktop\app_key 命令执行如图: ?...最后附上adb常用命令: 关闭adb服务 adb kill-server 开启adb服务 adb start-server 启动模拟器:emulator -avd 模拟器名emulator -avd...------------------------ 查看apk包相关信息: aapt dump badging xxx\xxx.apk (执行此命令应进入到android\sdk\build-tools

    8.1K20

    Linux中top命令如何 使用

    ,单位1/100秒 COMMAND — 进程名称(命令名/命令行) 详解 VIRT:virtual memory usage 虚拟内存 1、进程“需要”虚拟内存大小,包括进程使用库、代码、数据等 2...2、真正该程序要求数据空间,是真正在运行中要使用。 top 运行中可以通过 top 内部命令对进程显示方式进行控制。...Mem 和 第五行 Swap 信息表示 N – PID 大小顺序排列表示进程列表 P – CPU 占用率大小顺序排列进程列表 M – 以内存占用率大小顺序排列进程列表 h – 显示帮助...一般终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。 i:忽略闲置和僵死进程。这是一个开关式命令。...c:切换显示命令名称和完整命令行。 M:根据驻留内存大小进行排序。 P:根据CPU使用百分比大小进行排序。 T:根据时间/累计时间进行排序。 W:将当前设置写入~/.toprc文件中。

    2.1K00

    Windows 平台 Docker Machine 使用 - 如何设置主机

    其中有许多原因,可以肯定一点是:我喜欢玩最新技术,甚至帮助构建一两个演示版或一个实验环境。我在Windows上运行我设置,这是我与其他同事们主要区别。像大多数中间件开发人员一样。...在开始使用Docker或Docker Machine之前,至少需要完成一件事情。前往获取 WindowsGit (又名msysgit)。他内部有各种有用unix工具,无论如何你都需要它。...现在把这个文件夹添加到PATH中: 设置PATH =%PATH%; C:\ docker 如果你改变你标准PATH环境变量,这可能使你免于大量输入。就是这样。...使用Docker Machine创建Docker主机 您只需要一个简单命令: docker-machine create --driver virtualbox dev 输出结果应该是: ←[34mINFO...docker-machine ip 192.168.99.102 如果你想配置你环境变量,在客户端上需要做更简单,只需使用下面的命令: docker-machine env dev export DOCKER_TLS_VERIFY

    3.4K100
    领券