2013-05-21 238 views
1

我想改变码头9从8080侦听的默认端口为80,我编辑的码头,http.xml文件看起来像这样:码头不希望侦听端口80

<Call name="addConnector"> 
<Arg> 
    <New class="org.eclipse.jetty.server.ServerConnector"> 
    <Arg name="server"><Ref refid="Server" /></Arg> 
    <Arg name="factories"> 
     <Array type="org.eclipse.jetty.server.ConnectionFactory"> 
     <Item> 
      <New class="org.eclipse.jetty.server.HttpConnectionFactory"> 
      <Arg name="config"><Ref refid="httpConfig" /></Arg> 
      </New> 
     </Item> 
     </Array> 
    </Arg> 
    <Set name="host"><Property name="jetty.host" /></Set> 
    <Set name="port"><Property name="jetty.port" default="80" /></Set> 
    <Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set> 
    </New> 
</Arg> 

然而,由于一些奇怪的原因,当我启动它仍然侦听8080

+1

这只是该文件中的默认,也许你正在设置'jetty.port'地方?在相关的目录中找到Grep。 – Thilo

+0

'/ etc'中只有两个'jetty.port'事件。其中之一是在'jetty-proxy.xml'中设置为8888(不相关),另一个是我在'jetty-http.xml'中设置为80的那个。 – Eleeist

+0

我使用“jetty.sh”。你也看过吗?它似乎也看着它的环境变量JETTY_PORT。 – Thilo

回答

4

服务器你有你的XML定义方式,它会先使用任何jetty.port属性,那么如果没有找到,使用你的硬编码端口80.

请检查您的${jetty.home}/start.ini以及您的${jetty.home}/start.d/*文件的该属性。

或者,运行$ java -jar start.jar --help,看看它是否显示为在该命令的输出端定义)

$ java -jar start.jar --help 

(...snip...) 

    The current start.ini arguments are: 

    OPTIONS=Server,websocket,resources,ext 
    threads.min=10 
    threads.max=200 
    threads.timeout=60000 
    jetty.dump.start=false 
    jetty.dump.stop=false 
    etc/jetty.xml 
    OPTIONS=jmx 
    etc/jetty-jmx.xml 
    OPTIONS=jsp 
    jetty.port=8080 
    http.timeout=30000 
    etc/jetty-http.xml 

在这一点上,你有2种选择。

  1. 不要编辑XML文件,并简单地配置jetty.port

  2. 更改XML文件条目不看该属性的start.ini条目。

<Set name="port">80</Set> 
+0

这就是我正在寻找的答案(值得注意的是2,但总体来说很棒)!谢谢。 – Eleeist