scala – Play框架在“开始”模式下不绑定端口
发布时间:2020-12-16 18:30:41 所属栏目:安全 来源:网络整理
导读:如果我从我的 scala项目root运行play run,它会正常启动,我可以测试它. 如果我运行play start,它不会绑定到端口,并且没有日志输出或任何其他迹象表明任何错误. $play run[info] Loading project definition from /Users/Daenyth/myproject/project[info] Set
如果我从我的
scala项目root运行play run,它会正常启动,我可以测试它.
如果我运行play start,它不会绑定到端口,并且没有日志输出或任何其他迹象表明任何错误. $play run [info] Loading project definition from /Users/Daenyth/myproject/project [info] Set current project to myproject (in build file:/Users/Daenyth/myproject/) --- (Running the application from SBT,auto-reloading is enabled) --- [info] play - Listening for HTTP on /0:0:0:0:0:0:0:0%0:9000 (Server started,use Ctrl+D to stop and go back to the console...) $play start [info] Loading project definition from /Users/Daenyth/Localytics/myproject/project [info] Set current project to profile-api (in build file:/Users/Daenyth/myproject/) (Starting server. Type Ctrl+D to exit logs,the server will remain in background) 如果我使用play dist或play stage生成的启动器启动应用程序,它会向我显示进程ID,但它不会绑定端口. 我对如何继续这里感到茫然 – 谷歌搜索没有返回任何有用的东西. 编辑: 让它运行很长时间后(至少10分钟,我不确定),它最终把这个输出: [error] c.j.b.h.AbstractConnectionHook - Failed to obtain initial connection Sleeping for 0ms and trying again. Attempts left: 0. Exception: java.net.ConnectException: Connection timed out.Message:Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. Oops,cannot start the server. Configuration error: Configuration error[Cannot connect to database [default]] at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:92) at play.api.Configuration.reportError(Configuration.scala:570) at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:252) at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:243) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at play.api.db.BoneCPPlugin.onStart(DB.scala:243) at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88) at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88) at scala.collection.immutable.List.foreach(List.scala:318) at play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:88) at play.api.Play$$anonfun$start$1.apply(Play.scala:88) at play.api.Play$$anonfun$start$1.apply(Play.scala:88) at play.utils.Threads$.withContextClassLoader(Threads.scala:18) at play.api.Play$.start(Play.scala:87) at play.core.StaticApplication.<init>(ApplicationProvider.scala:52) at play.core.server.NettyServer$.createServer(NettyServer.scala:243) at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:279) at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:274) at scala.Option.map(Option.scala:145) at play.core.server.NettyServer$.main(NettyServer.scala:274) at play.core.server.NettyServer.main(NettyServer.scala) Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:344) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2332) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) at java.sql.DriverManager.getConnection(DriverManager.java:571) at java.sql.DriverManager.getConnection(DriverManager.java:215) at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:363) at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:416) at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:120) at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:245) ... 22 more Caused by: java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:579) at java.net.Socket.connect(Socket.java:528) at java.net.Socket.<init>(Socket.java:425) at java.net.Socket.<init>(Socket.java:241) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:257) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:294) ... 40 more 解决方法
这里的问题是我配置的mysql服务器无法从我的本地计算机访问,我的EC2安全组出错,导致部署的实例无法连接.超时和最大重试的默认值非常高,所以我最初没有看到它,因为如果你没有打印它就不会打印任何内容.
更改我的网络安全规则解决了这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |