Pet*_*ter 4 playframework playframework-2.1
我正在尝试运行同一个Play应用程序的两个实例,以便将来透明地升级应用程序.
当我启动第一个实例时,一切都很顺利.当我启动start 9525
命令以在端口9525上启动应用程序的第二个实例时,我收到以下错误:
Play server process ID is 8909
This application is already running (Or delete .../RUNNING_PID file)
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?
这个Play的文档已经描述了使用Apache进行" 透明升级 ".通常,您需要在两个单独的文件夹中启动两个实例
一开始:
dist
使用应用来源在您的文件夹中创建包instance1
instance1
所需的端口开始,例如9998
,它将是您的每日实例更改后,当您想要透明地重新部署应用程序时:
dist
并解压缩到其他文件夹即.instance2
9999
instance1
instance2
到instance1
instance1
并停止应用程序instance2
当然,创建简单的shell脚本将立即执行所有步骤将是您的好帮手.
小费:
为了避免经常重新部署,特别是当您只需要替换/修改CSS或图像等公共 和静态内容时,您也可以使用Apache common vhost
来处理这些资源.只需vhost
为某个文件夹创建一个子域即ie.http://static.domain.tld
或者更好地使用单独的域:http://my-cdn.tld
所以你可以使用如下路径:
<img src="http://static.domain.tld/images/photo.png" alt="" />
Run Code Online (Sandbox Code Playgroud)
代替
<img src="/public/images/photo.png" alt="" />
Run Code Online (Sandbox Code Playgroud)
好处:
最后,根据我的经验,nginx比Apache快.因此,如果您的案例中只有HTTP服务器的任务是对Play的应用程序进行负载平衡,请考虑使用nginx,它只是更轻松.
归档时间: |
|
查看次数: |
2592 次 |
最近记录: |