2012-03-30 22 views
10

La documentación dice:Cómo cambiar el puerto HTTP que está escuchando en Play2

$ reproducción de inicio

Nota: el puerto HTTP se puede configurar mediante el paso del sistema -Dhttp.port variables

pero todavía estoy golpeando error tomada puerto 9000

$ /opt/play-2.0/play start -Dhttp.port=9001 

[info] Loading project definition from /my/path 
[info] Set current project to marmurka (in build file:/my/path/) 

(Starting server. Type Ctrl+D to exit logs, the server will remain in background) 

Play server process ID is 27505 
[info] play - Application started (Prod) 
Oops, cannot start the server. 
org.jboss.netty.channel.ChannelException: Failed to bind to: /0.0.0.0:9000 
    at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:298) 
    at play.core.server.NettyServer.<init>(NettyServer.scala:63) 
    at play.core.server.NettyServer$.createServer(NettyServer.scala:131) 
    at play.core.server.NettyServer$$anonfun$main$5.apply(NettyServer.scala:153) 
    at play.core.server.NettyServer$$anonfun$main$5.apply(NettyServer.scala:152) 
    at scala.Option.map(Option.scala:133) 
    at play.core.server.NettyServer$.main(NettyServer.scala:152) 
    at play.core.server.NettyServer.main(NettyServer.scala) 
Caused by: java.net.BindException: Address already in use 
    at sun.nio.ch.Net.bind(Native Method) 
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:137) 
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:77) 
    at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.bind(NioServerSocketPipelineSink.java:140) 
    at  org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleServerSocket(NioServerSocketPipelineSink.java:92) 
    at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:66) 
    at org.jboss.netty.channel.Channels.bind(Channels.java:462) 
    at org.jboss.netty.channel.AbstractChannel.bind(AbstractChannel.java:186) 
    at org.jboss.netty.bootstrap.ServerBootstrap$Binder.channelOpen(ServerBootstrap.java:343) 
    at org.jboss.netty.channel.Channels.fireChannelOpen(Channels.java:170) 
    at org.jboss.netty.channel.socket.nio.NioServerSocketChannel.<init>(NioServerSocketChannel.java:77) 
    at org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.newChannel(NioServerSocketChannelFactory.java:137) 
    at org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.newChannel(NioServerSocketChannelFactory.java:85) 
    at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:277) 
    ... 7 more 
+1

Consulte [esta pregunta] (http://stackoverflow.com/questions/8205067/how-do-i-change-the-default-port-9000-that-play-uses-when-i-execute- the-run) –

+0

@ JulienRichard-Foy gracias, eso resuelve la pregunta –

+0

esto funcionó para mí 'play" run 8080 "', Ubuntu 12.04 play 2.2.2 – milkersarac

Respuesta

22

Primer tipo: jugar

continuación, en el tipo de consola: comenzar 9001

Lo mismo para el modo de desarrollo. Primero: Juego, entonces: run 9001

Otra forma qoutes uso:

obra "comenzar 9001"

juego "run 9001"

+0

Gracias, resuelve el problema. –

+0

Buen consejo sobre la sintaxis "ejecutar " citada. –

+0

cómo matar el puerto en 9000? – Fenici

3

También tenga en cuenta que el servidor permanece en el fondo, Ctrl + D no lo mata (aunque sí lo hace si usa run en lugar de start). Entonces, si se pregunta por qué el puerto todavía está en uso ... esa es probablemente la razón.

Cuestiones relacionadas