play 框架_用于Play框架分布式应用程序的Init.d Shell脚本

play 框架

我编写了一个Shell脚本来控制使用内置命令dist打包的Play框架应用程序。 以这种方式打包的应用程序是独立的压缩发行版,而无需在应该运行的计算机上安装Play框架。 所需的一切都在包装内。 在zip的bin目录中,有一个可执行的Shell脚本,其名称与您的应用程序相同。 您可以通过运行此脚本来启动应用程序。 这就是全部,但我想要更多。

脚本设置

从GitHub下载脚本并使其可执行:

chmod +x ./dist-play-app-initd

在运行脚本之前,您必须设置NAMEPORTAPP_DIR变量的值。

  1. NAME –应用程序的名称,必须与Play框架生成的外壳脚本的名称相同才能运行该应用程序
  2. PORT –应用程序应运行的端口号
  3. APP_DIR –解压缩打包应用程序的目录的路径

让我们以我的辅助项目Jugjane为例。 我运行了“ play dist ”,它生成了“ jugjane-1.1-SNAPSHOT.zip ”文件。 如果将其解压缩,则会得到一个名为“ jugjane-1.1-SNAPSHOT ”的目录,该目录将移至“ /home/rado/bin/jugjane-1.1-SNAPSHOT ”。 Play框架生成的shell脚本为“ /home/rado/bin/jugjane-1.1-SNAPSHOT/bin/jugjane ”。 我想在端口9000上运行该应用程序。我的值是:

NAME=jugjane
PORT=9000
APP_DIR=/home/rado/bin/jugjane-1.1-SNAPSHOT

启动,停止,重新启动并检查状态

现在,我可以方便地将我的Pl​​ay应用程序作为守护程序运行。 让我们运行它。

开始

要启动我的Jugjane应用程序,我只需运行以下命令:

$ ./dist-play-app-initd start
Starting jugjane at port 9000... OK [PID=6564]

重新开始

$ ./dist-play-app-initd restart
Stopping jugjane... OK [PID=6564 stopped]
Starting jugjane at port 9000... OK [PID=6677]

状态

$ ./dist-play-app-initd status
Checking jugjane at port 9000... OK [PID=6677 running]

停止

$ ./dist-play-app-initd stop
Stopping jugjane... OK [PID=6677 stopped]

机器启动时启动您的应用程序

这取决于您的操作系统,但是通常您需要将此脚本移至/etc/init.d目录。

实施细节

该脚本使用Play框架生成的RUNNING_PID文件,其中包含应用程序服务器进程的ID。

安全启动

启动应用程序后,脚本将检查是否已创建RUNNING_PID文件以及该进程是否真正在运行。 之后,它使用wget实用程序对根文档发出HTTP GET请求,以再次检查服务器是否处于活动状态。 当然,这假定您的应用程序提供了此文档。 如果您不喜欢(或没有)wget,那么我也提供了curl版本以方便您。

安全停车

停止检查其ID在RUNNING_PID文件中的进程是否确实属于您的应用程序。 这是一项重要的检查,因此我们不会意外杀死一个无辜的进程。 然后,它从最温和的信号开始向过程发送终止信号,直到过程终止。

贡献

我感谢我的雇主Dominion Marine Media,让我与您分享这一喜悦。 随时贡献。

参考: Rado Buransky博客博客上来自JCG合作伙伴 Rado Buransky的Play框架分布式应用程序的Init.d shell脚本 。

翻译自: https://www.javacodegeeks.com/2014/03/init-d-shell-script-for-play-framework-distributed-applications.html

play 框架

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx php 不能连接mysql_nginx配置php环境,并测试PHP是否可以连接mysql

nginx配置文件:server {listen 80;root /var/www/html;server_name localhost;charset utf-8;index index.html index.htm index.php;location ~ .*.(php|php5)?${fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENA…

[渝粤教育] 中国地质大学 信息管理概论 复习题

信息管理概论 一单选题 1.个人接受外部信息并在人体内部进行信息处理的活动属于社会信息交流中的:() A.人的内向信息交流 B.人际信息交流 C.群体信息交流 D.大众信息交流 ()所需信息的表现形式以文献型信息和实物型信息为主 A.科研人员 B.管理人员 C.技术人员 D.教师 3.下列…

J2Pay – API响应

介绍 该库中的神奇之处在于,无论网关是什么,其响应都是唯一的。 了解API响应后,您便可以轻松地将此响应用于进一步的交易,例如退款,作废或重新开票。 首先,在开始阅读时,所有响应都是JSON。 所…

光纤收发器一定要成对使用吗?

当我们远距离传输时,通常会使用光纤来传输。因为光纤的传输距离远、抗干扰,一般来说单模光纤的传输距离在10千米以上,而多模光纤的传输距离最高也能达到2千米。而在光纤网络中,我们常常会使用到光纤收发器。那么,光纤收…

[渝粤教育] 中国地质大学 国际贸易理论 复习题 (2)

国际贸易理论模拟题 一单选题 1.《中华人民共和国保障措施条例》最后一次修订是在(). A.2001年11月 B.2002年1月 C.2003年11月 D.2004年3月 2.保障措施与反倾销性质上的差异表现为(). A.实施保障措施所必须满足的前提条件要比实施反倾销的前提条件更为严格 B.保障措施的实施期…

ansi iso mysql_ANSI/ISO标准规定的sql关键字

ABSOLUTE、ACTION、ADD、ALL、ALLOCATE、ALTER、AND、ANY、ARE、AS、ASC、ASSERTION、AT、AUTHORIZATION、AV。BEGIN、BETWEEN、BIT、BIT-LENGTH、BOTH、BY。CASCADE、CASCADED、CASE、CAST、CATALOG、CHAR、CHARACTER、CHAR-LENGTH、CHARACTER、LENGTH、CHECK、CLOSE、COALESC…

[渝粤教育] 中国地质大学 大学英语(2) 复习题

《大学英语(2)》模拟题 一.单选题 1.()her mother () she was at home when the thief came in A.Neither or B.Each and C.Neither nor 2.A major earthquake rocked Haiti at 4:53 pm local time on Jan.12 2010 killing possibly thousands of people but no official fi…

光纤收发器和光电转换器有什么区别?

光纤收发器,是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元,在很多地方也被称之为光电转换器(Fiber Converter)。那么,光纤收发器和光电转换器有区别吗?接下来就由飞畅科技…

[渝粤教育] 中国地质大学 婚姻与家庭法 复习题

《婚姻与家庭法》模拟题 一.单选题 1.群婚制的高级阶段是() A.杂婚 B.血缘群婚 C.亚血缘群婚 D.对偶婚 2.下列财产为甲乙婚后增值或所得其中属于夫妻共同财产的是() A.甲婚前承包的果园婚后果树上结的果实 B.乙婚前购买的一套房屋升值了40万元 C.甲婚前收藏的古画升值了50万 …

mysql innodb redolog_Mysql的binlog 和InnoDB的redo-log

mysql日志系统之redo log和bin log12018.12.02 01:35:06字数 997阅读 3,248首先,我们先来看看一次查询/更新语句流程图mysql查询/更新流程图.png本文会将重点放在执行器存储引擎之间的交互。mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果…

[渝粤教育] 中国地质大学 工业通风及除尘 复习题

《工业通风及除尘》模拟题 一.单选题 1.下列选项()不是影响作业场所气象条件的基本参数. A.空气温度 B.空气湿度 C.空气组成 D.空气流速 2.自然通风中起主导作用的是(). A.温度 B.风压 C.风向 D.热压 3.矿山井下空气中含有多种有毒有害气体下列气体中不属于有毒气体的是(). A…

光纤收发器按照网管怎么分类?

光纤收发器,是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元,在很多地方也被称之为光电转换器(Fiber Converter),那么,光纤收发器按照网管怎么分类的?接下来我们…

[渝粤教育] 中国地质大学 数据结构 复习题 (2)

《数据结构》模拟题 一、单项选择题 1.假定对称矩阵按行序为主序顺序存储下三角元素到一维数组SA[1…n(n-1)/2]中对下三角中任一元素aij在一维数组SA中的下标k值为(). A.i(i-1)/2j-1 B.i(i-1)/2j C.i(i1)/2j-1 D.i(i1)/2j 2.____可作线性表的存储结构. A.循环单链表 B.三元组表…

java实现数据库内容修改_数据库更改到Java环境中实现可持续和平

java实现数据库内容修改对我们而言,可持续和平正在消除不确定性。 在这种情况下,由于数据库更改,欢迎使用Ruby的Active Record Migrations 。 迁移对我们意味着什么? 嗯,这是一种方便快捷的方法,可以以一致…

[渝粤教育] 中国地质大学 测试技术 复习题

《测试技术》模拟题 一.单选题 1.在一定条件下RC带通滤波器可看成是低通滤波器与高通滤波器()而成的. A.串联 B.并联 C.串并联 D.叠加 2.半导体式应变片在外力作用下引起其电阻变化的因素主要是(). A.长度 B.截面积 C.电阻率 D.高通 3.倍频程滤波器是一种()滤波器. A.高通 B.…

mysql tls_mysql8 参考手册--加密连接TLS协议和密码

支持的连接TLS协议MySQL支持使用TLSv1,TLSv1.1,TLSv1.2和TLSv1.3协议的加密连接,这些协议按从低到高的顺序列出。实际允许连接的协议集受多种因素影响:MySQL配置。可以在服务器端和客户端上都配置允许的TLS协议,以仅包…

电话光端机和PDH光端机的区别

电话光端机就是把传统的电话信号转换成光信号,可通过光纤传输电话、以太网、音频的设备,让电话信号能够传输的更长距离,而且传输速率上也有很大的提高。电话光端机和PDH光端机用法各不一样,而PDH光端机简单的说是通过光纤来传输E1信号和100M以太网信号。…

[渝粤教育] 中国地质大学 砌体结构设计 复习题 (2)

《砌体结构设计》模拟题 一.单选题 1.砖及砌块是砌筑墙体的主要材料如果需要抗压强度达到MU30的砌筑材料可选择(). A.混凝土空心砌块 B.蒸压灰砂砖 C.烧结多孔砖 D.烧结空心砖 2.水泥是工程建设中常用的水硬性胶凝材料.水泥的类别不同其使用范围也不同.不适用于大体积混凝土…

jcmd,大约JDK 11

NicolasFrnkel最近在博客文章“ 行业工具OpenJDK 11 ”中发布了与OpenJDK 11一起提供的命令行工具的调查。 在那篇文章中,他简要总结了工具jps (一个JVM进程状态工具 ), jinfo (一个JVM配置详细信息 )&…

[渝粤教育] 中国地质大学 职业健康管理体系 复习题 (2)

《职业健康管理体系》模拟题 单选题 1.参照ISO10013(GB/T19023-1996)质量手册编写指南建议把OHSMS文件分为()个层次. A.1 B.2 C.3 D.4 2.ISO采取行动在1996年推出ISO14000()体系. A.职业健康安全管理体系 B.质量管理体系 C.环境管理体系 D.安全管理体系 3.ISO采取行动在1994…