2014-07-09 6 views
14

Jetty Standard-Port ist 8080, aber ich möchte auf Standard-Port zu einem anderen Port (9999) ändern.Port ändern Standard-Port

Ich lese ein paar Tutorials und sie sagten fast alle Konfigurationsinformationen wird standardmäßig in der Datei jetty.xml verwaltet, diese Datei befindet sich unter $JETTY_HOME/etc/. Ändern Sie dann die Eigenschaft jetty.port in 9999. Als ich diese Datei jedoch geöffnet habe, konnte ich die Eigenschaft jetty.port in der jetty.xml nicht finden. Ich verwende derzeit Jetty-9.2.1 und der Port ist bei 8080.

Ich fand Jetty.port-Eigenschaft unter Jetty-http.xml-Datei. Auch wenn ich den Port 8090 in der Mole-http.xml Datei geändert, Anlegestelle läuft noch an Port 8080

jetty.xml

<?xml version="1.0"?> 
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> 

<!-- =============================================================== --> 
<!-- Documentation of this file format can be found at:    --> 
<!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax  --> 
<!--                 --> 
<!-- Additional configuration files are available in $JETTY_HOME/etc --> 
<!-- and can be mixed in. See start.ini file for the default   --> 
<!-- configuration files.           --> 
<!--                 --> 
<!-- For a description of the configuration mechanism, see the  --> 
<!-- output of:              --> 
<!-- java -jar start.jar -?          --> 
<!-- =============================================================== --> 

<!-- =============================================================== --> 
<!-- Configure a Jetty Server instance with an ID "Server"   --> 
<!-- Other configuration files may also configure the "Server"  --> 
<!-- ID, in which case they are adding configuration to the same  --> 
<!-- instance. If other configuration have a different ID, they  --> 
<!-- will create and configure another instance of Jetty.   --> 
<!-- Consult the javadoc of o.e.j.server.Server for all    --> 
<!-- configuration that may be set here.        --> 
<!-- =============================================================== --> 
<Configure id="Server" class="org.eclipse.jetty.server.Server"> 

    <!-- =========================================================== --> 
    <!-- Configure the Server Thread Pool.       --> 
    <!-- The server holds a common thread pool which is used by  --> 
    <!-- default as the executor used by all connectors and servlet --> 
    <!-- dispatches.             --> 
    <!--                --> 
    <!-- Configuring a fixed thread pool is vital to controlling the --> 
    <!-- maximal memory footprint of the server and is a key tuning --> 
    <!-- parameter for tuning. In an application that rarely blocks --> 
    <!-- then maximal threads may be close to the number of 5*CPUs. --> 
    <!-- In an application that frequently blocks, then maximal  --> 
    <!-- threads should be set as high as possible given the memory --> 
    <!-- available.             --> 
    <!--                --> 
    <!-- Consult the javadoc of o.e.j.util.thread.QueuedThreadPool --> 
    <!-- for all configuration that may be set here.     --> 
    <!-- =========================================================== --> 
    <!-- uncomment to change type of threadpool 
    <Arg name="threadpool"><New id="threadpool" class="org.eclipse.jetty.util.thread.QueuedThreadPool"/></Arg> 
    --> 
    <Get name="ThreadPool"> 
     <Set name="minThreads" type="int"><Property name="threads.min" default="10"/></Set> 
     <Set name="maxThreads" type="int"><Property name="threads.max" default="200"/></Set> 
     <Set name="idleTimeout" type="int"><Property name="threads.timeout" default="60000"/></Set> 
     <Set name="detailedDump">false</Set> 
    </Get> 

    <!-- =========================================================== --> 
    <!-- Add shared Scheduler instance        --> 
    <!-- =========================================================== --> 
    <Call name="addBean"> 
     <Arg> 
     <New class="org.eclipse.jetty.util.thread.ScheduledExecutorScheduler"/> 
     </Arg> 
    </Call> 

    <!-- =========================================================== --> 
    <!-- Http Configuration.           --> 
    <!-- This is a common configuration instance used by all   --> 
    <!-- connectors that can carry HTTP semantics (HTTP, HTTPS, SPDY)--> 
    <!-- It configures the non wire protocol aspects of the HTTP  --> 
    <!-- semantic.             --> 
    <!--                --> 
    <!-- This configuration is only defined here and is used by  --> 
    <!-- reference from the jetty-http.xml, jetty-https.xml and  --> 
    <!-- jetty-spdy.xml configuration files which instantiate the --> 
    <!-- connectors.             --> 
    <!--                --> 
    <!-- Consult the javadoc of o.e.j.server.HttpConfiguration  --> 
    <!-- for all configuration that may be set here.     --> 
    <!-- =========================================================== --> 
    <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> 
     <Set name="secureScheme">https</Set> 
     <Set name="securePort"><Property name="jetty.secure.port" default="8443" /></Set> 
     <Set name="outputBufferSize"><Property name="jetty.output.buffer.size" default="32768" /></Set> 
     <Set name="requestHeaderSize"><Property name="jetty.request.header.size" default="8192" /></Set> 
     <Set name="responseHeaderSize"><Property name="jetty.response.header.size" default="8192" /></Set> 
     <Set name="sendServerVersion"><Property name="jetty.send.server.version" default="true" /></Set> 
     <Set name="sendDateHeader"><Property name="jetty.send.date.header" default="false" /></Set> 
     <Set name="headerCacheSize">512</Set> 
     <!-- Uncomment to enable handling of X-Forwarded- style headers 
     <Call name="addCustomizer"> 
     <Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg> 
     </Call> 
     --> 
    </New> 


    <!-- =========================================================== --> 
    <!-- Set the default handler structure for the Server   --> 
    <!-- A handler collection is used to pass received requests to --> 
    <!-- both the ContextHandlerCollection, which selects the next --> 
    <!-- handler by context path and virtual host, and the   --> 
    <!-- DefaultHandler, which handles any requests not handled by --> 
    <!-- the context handlers.          --> 
    <!-- Other handlers may be added to the "Handlers" collection, --> 
    <!-- for example the jetty-requestlog.xml file adds the   --> 
    <!-- RequestLogHandler after the default handler     --> 
    <!-- =========================================================== --> 
    <Set name="handler"> 
     <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> 
     <Set name="handlers"> 
     <Array type="org.eclipse.jetty.server.Handler"> 
      <Item> 
      <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/> 
      </Item> 
      <Item> 
      <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/> 
      </Item> 
     </Array> 
     </Set> 
     </New> 
    </Set> 

    <!-- =========================================================== --> 
    <!-- extra server options          --> 
    <!-- =========================================================== --> 
    <Set name="stopAtShutdown">true</Set> 
    <Set name="stopTimeout">5000</Set> 
    <Set name="dumpAfterStart"><Property name="jetty.dump.start" default="false"/></Set> 
    <Set name="dumpBeforeStop"><Property name="jetty.dump.stop" default="false"/></Set> 

</Configure> 

Anlegesteg-http.xml

<?xml version="1.0"?> 
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> 

<!-- ============================================================= --> 
<!-- Configure the Jetty Server instance with an ID "Server"  --> 
<!-- by adding a HTTP connector.         --> 
<!-- This configuration must be used in conjunction with jetty.xml --> 
<!-- ============================================================= --> 
<Configure id="Server" class="org.eclipse.jetty.server.Server"> 

    <!-- =========================================================== --> 
    <!-- Add a HTTP Connector.          --> 
    <!-- Configure an o.e.j.server.ServerConnector with a single  --> 
    <!-- HttpConnectionFactory instance using the common httpConfig --> 
    <!-- instance defined in jetty.xml        --> 
    <!--                --> 
    <!-- Consult the javadoc of o.e.j.server.ServerConnector and  --> 
    <!-- o.e.j.server.HttpConnectionFactory for all configuration --> 
    <!-- that may be set here.          --> 
    <!-- =========================================================== --> 
    <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="8090" /></Set> 
     <Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set> 
     <Set name="soLingerTime"><Property name="http.soLingerTime" default="-1"/></Set> 
     </New> 
    </Arg> 
    </Call> 

</Configure> 

Ich wurde auch empfohlen, einen Integrationstest zu verwenden, um Jetty zu konfigurieren, anderen Port zu verwenden. Es gibt eine integration-tests.properties Datei im Projekt. Vielleicht ist eine Lösung, in dieser Datei "jetty.port" auf 9999 zu setzen?

integration-tests.properties:

host = localhost 
port = 9999 
+0

Ändern der jetty.port Einstellung innerhalb Anlegesteg-http.xml gearbeitet Datei für mich. Vielleicht haben Sie eine andere Anwendung mit Port 9999? – slim

Antwort

19

es, wenn Sie den Port gesetzt funktioniert, wenn Sie es von der Befehlszeile wie folgt beginnen:

java -jar start.jar -Djetty.port=9999 
+0

festes Argument. –

+0

Dies ändert nicht den Standardport. Nach dem Ausführen dieser Zeile läuft Jetty immer noch unter Port 8080, wenn ich 'java -jar start.jar' starte. Ich suche nach einer Möglichkeit, den Standardport dauerhaft zu ändern. – wag0325

+0

@ wag0325 Ich habe mich nur gefragt, ob es einen Unterschied machen würde, um das Problem zu beheben. Nachdem ich Jetty/start.d/http.ini aktualisiert habe und den Port auf 9999 geändert habe, starte dann die Standardeinstellungen: java -jar start.jar startet an Port 9999. Wenn du es von maven aus starten musst, dann kann dieser Post help: [link] (http://stackoverflow.com/questions/11652058/how-to-override-jetty-xml-with-jetty-port) –

1

Nur der Vollständigkeit halber auf Anlegestelle 7 können Sie dies verwenden:

java -jar start.jar --module=http jetty.port=9080 
+0

starten, die eine große Antwort ist. –

4

Ich habe die geändert Port erfolgreich, können Sie versuchen, jetty.port in der Datei unter $Jetty_home/start.d/http.ini zu bearbeiten.

3

Sie müssen den http-Port in der start.ini-Datei ändern, weil es über-recht jetty-http.xml config.Or einfach die Zeile in start.ini kommentieren und Ihre Konfiguration von jetty-http.xml beibehalten wird. In [Anlegestelle home] /start.ini

## HTTP port to listen on 
#jetty.port=8080 
6

ich diese Version in Jetty 9.x tat. Sie müssen zu $ ​​JETTY_HOME/start.ini-Datei gehen und diese Einstellung bearbeiten jetty.port. Lassen Sie uns sagen, dass Sie Anlegestelle am 9090-Anschluss ausgeführt werden soll: Bitte jetty.port Einstellung in $ JETTY_HOME/start.ini von jetty.port = 8080 zu jetty.port = 9090

Dann Anlegestelle beginnen ändern mit "java -jar start.jar" -Option. Der Anlegestelle wird an 9090-Port running als Standard-8080-Port. Dann haben "curl -i -XGET" http://localhost:9090“Das sollten Sie 200 HTTP-Status geben Thats it

2

Update:...

On Jetty 9.x, jetty.port ist veraltet und Sie können jetty.http.port stattdessen verwenden, wie unten dargestellt:

$> cd $JETTY_HOME && java -jar start.jar -Djetty.http.port=8080 
2

Am Anlegesteg 9.2.3.v20140905 `s in /etc/default/jetty

# JETTY_ARGS 
# The default arguments to pass to jetty. 
# For example 
JETTY_ARGS="jetty.port=8080 jetty.spdy.port=8443 jetty.secure.port=443" 

aber diese Änderung schreiben müssen nur HTTP-Anschluss in Steg https Port ändern 9.2 erstellen ini $JETTY_HOME/start.d/https.ini

# Initialize module https 
# 
--module=https 
## HTTPS Configuration 
# HTTP port to listen on 
https.port=8443 
# HTTPS idle timeout in milliseconds 
https.timeout=30000 
# HTTPS Socket.soLingerTime in seconds. (-1 to disable) 
# https.soLingerTime=-1 

Anlegestelle 9.3 in /etc/default/jetty

# JETTY_ARGS 
# The default arguments to pass to jetty. 
# For example 
JETTY_ARGS="jetty.http.port=8080 jetty.ssl.port=443" 

oder Kommandozeilen-Parameter -Djetty.http.port=8080 -Djetty.ssl.port=443