2013-05-21 204 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