这肯定是一个很容易回答的问题,但我似乎在任何地方都找不到答案。我有一个play Framework2应用程序,我想在Windows Server 2008上投入生产。我只对外部开放了端口80、8080和443。我使用以下代码启动我的play应用程序:
play -Dhttp.port=80 "run 80"但是我得到一个错误,说“无法绑定到: /0.0.0.0:80。我可以这样做:
play -Dhttp.port=8080 "run 8080"这是有效的,我可以通过输入http://sometestingurl.pt:8080/index来获得对我的web应用程序的外部访问,但我不想在我的URL上有端口号。我该怎么做呢?
谢谢
发布于 2013-05-29 07:26:11
当涉及到在生产模式下运行应用程序时,Play的建议是给not use the run command,而不是使用在运行dist任务之后为您生成的start脚本。
一旦您在服务器上运行了dist任务并解压缩了应用程序,下面的命令应该会启动它并绑定到端口80:
start -Dhttp.port=80发布于 2013-05-29 22:54:59
您很可能在端口80上运行了另一个应用程序。如果它是Windows Server,那么IIS很有可能正在运行(有关如何关闭它的详细信息,请参阅http://support.microsoft.com/kb/321141 )。
除了配置Play应用程序本身在端口80上运行之外,您还可以设置一个前端web服务器,如下所述:http://www.playframework.com/documentation/2.1.1/HTTPServer。此技术还有一个额外的优势,即它使您能够使用虚拟主机在端口80上运行多个播放应用程序。
还有一件事……目前还不能在Windows的生产模式下运行Play应用程序,所以你必须使用" run“命令(或者将应用程序移到Unix机器上)。更多详细信息请访问:http://www.playframework.com/documentation/2.1.1/Production
发布于 2014-06-12 16:38:08
我使用的是play版本2.2.2。以下解决方案在CentOS 6.5上进行了测试:
如果您在服务器上有源代码文件夹:
将
sudo play "start -Dhttp.port=80"您很可能会遇到错误的sudo: play: command not found。要解决此问题,请执行以下操作:
sudo play "start -Dhttp.port=80"如果您希望将代码部署到生产服务器上,请执行以下操作:
将dir
play dist cd解压到您的项目dir.
cd your_unzipped_folder/bin
sudo nohup ./yourapp -Dhttp.port=80
https://stackoverflow.com/questions/16796352
复制相似问题