播放更改RUNNING_PID文件路径

Posted

技术标签:

【中文标题】播放更改RUNNING_PID文件路径【英文标题】:Play change RUNNING_PID file path 【发布时间】:2016-05-11 00:08:27 【问题描述】:

我正在尝试将 RUNNING_PID 文件存储在 /var/run 而不是根目录。 尝试了以下建议的所有选项: Another SO question about the subject

解决方案在他们的文档中建议:Play additional configuration

然而,当我启动我的应用程序时,RUNNING_PID 文件会在根目录中创建,而 /var/run/play.pid 保持为空

【问题讨论】:

你将不得不获得更多信息..刚刚尝试了播放附加配置中给出的方法,它工作正常。我正在使用 play 2.3.9 play应用是否有权限写入该目录? 是的,它拥有所有需要的权限。我终于找到了问题,按照播放文档中的建议进行了修复:“java -Dpidfile.path=/var/run/play.pid -javaagent:newrelic/newrelic.jar -Dnewrelic.environment=$NEWRELIC_ENV -jar /usr /local/webapp/my_app.jar”起初我是这样运行的:“java -javaagent:newrelic/newrelic.jar -Dnewrelic.environment=$NEWRELIC_ENV -Dpidfile.path=/var/run/play.pid -jar /usr/local/webapp/my_app.jar" 这不起作用 【参考方案1】:

play.server.pidfile.path=/var/run/RUNNING_PID

在你的application.conf

【讨论】:

【参考方案2】:

在 Linux 中创建一个“播放”用户和组,以便它以安全的方式运行。

在 SystemD 服务文件中,并在 [Service] 区域内使用:

[Service]

# Create the Directory /var/run/play (which Play will have write permissions to)
RuntimeDirectory=play
RuntimeDirectoryMode=0710

User=play
Group=play

在ExecStart中,具体传递系统属性“pidfile.path”:

ExecStart=/opt/play-1.0.0/bin/play -Dconfig.file=/path/to/my/application.conf \
                                   -Dpidfile.path=/var/run/play/play.pid

【讨论】:

【参考方案3】:

以下在 Play 2.8 (??) 中为我工作:

将此属性添加到 conf 目录中的 application.conf:

play.server.pidfile.path=/var/run/RUNNING_PID

注意: 它将尝试在 /var/run 下创建一个文件,如果您不想/无权写入文件系统,即您正在运行您的应用程序Kubernetes (1.20) pod 将其更改为 /dev/null。

play.server.pidfile.path=/dev/null

希望这会有所帮助,干杯 (??)

【讨论】:

以上是关于播放更改RUNNING_PID文件路径的主要内容,如果未能解决你的问题,请参考以下文章

Qt获取当前播放媒体的文件路径?

存储音频路径并在网页上播放

Realplayer播放中的文件可以删除,临时文件路径是啥?

将音频文件下载到文件管理器需要从本地路径播放

使用TWindowsMediaPlayer播放网络路径的音频文件

简单的媒体播放器从文件路径播放 mp3?