webentwicklung-frage-antwort-db.com.de

Ändern Sie den Jetty-Standardport

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

Ich habe ein paar Tutorials gelesen und sie sagten, dass fast alle Konfigurationsinformationen standardmäßig in der Datei jetty.xml Gespeichert sind. Diese Datei befindet sich unter $JETTY_HOME/etc/. Ändern Sie dann die Eigenschaft jetty.port In 9999. Als ich diese Datei öffnete, konnte ich die Eigenschaft jetty.port in jetty.xml Nicht finden. Ich benutze derzeit Jetty-9.2.1 und der Port ist bei 8080.

Ich habe die Eigenschaft jetty.port in der Datei jetty-http.xml gefunden. Obwohl ich den Port in der Datei jetty-http.xml auf 8090 geändert habe, wird jetty immer noch auf Port 8080 ausgeführt.

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>

Anlegestelle-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>

Mir wurde auch geraten, einen Integrationstest zu verwenden, um Jetty für die Verwendung eines anderen Ports zu konfigurieren. Es gibt eine integration-tests.properties - Datei im Projekt. Vielleicht besteht eine Lösung darin, jetty.port in dieser Datei auf 9999 zu setzen?

integration-tests.properties:

Host = localhost
port = 9999
20
wag0325

funktioniert es, wenn Sie den Port folgendermaßen festlegen, wenn Sie ihn über die Befehlszeile starten:

Java -jar start.jar -Djetty.port=9999
27
Magnus Lassi

Ich habe das in der Jetty 9.x Version gemacht. Sie müssen zur Datei $ JETTY_HOME/start.ini gehen und diese Einstellung bearbeiten jetty.port . Nehmen wir an, Sie möchten den Steg am 9090-Port ausführen: Ändern Sie die Einstellung von jetty.port in $ JETTY_HOME/start.ini von jetty.port = 8080 in jetty.port = 9090

Starten Sie dann den Steg mit der Option "Java -jar start.jar". DANN läuft der Steg am 9090-Port als der Standard-8080-Port. Dann machen Sie "curl -i -XGET" http: // localhost: 909 ". Das sollte Ihnen 200 http Status geben. Das ist es.

8
user3348367

Aktualisieren:

Auf Steg 9.x, jetty.port ist veraltet und Sie können jetty.http.port stattdessen wie unten gezeigt:

$> cd $JETTY_HOME && Java -jar start.jar -Djetty.http.port=8080
6
amey91

Am Steg 9.2.3.v20140905 muss /etc/default/jetty Eingegeben werden

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

dies ändert aber nur http port. Um den https-Port in Jetty 9.2 zu ändern, erstellen Sie eine INI-Datei $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

anlegesteg 9. 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 Befehlszeilenparameter -Djetty.http.port=8080 -Djetty.ssl.port=443

5
sytolk

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

4
Haidong Zhang

Sie müssen den http-Port in der Datei start.ini ändern, da er die Konfiguration von jetty-http.xml überschreibt. Oder kommentieren Sie einfach die Zeile in der Datei start.ini und behalten Sie Ihre Konfiguration von jetty-http.xml bei. In [Anlegestelle nach Hause] /start.ini

## HTTP port to listen on
#jetty.port=8080
3
sja

Wenn Sie Eclipse verwenden, müssen Sie die Ausführungskonfigurationen festlegen. Wenn Sie Anlegestelle in Eclipse installieren, lautet der Standardport für die Anlegestelle 808.

Sie müssen es also in eine XML-Datei ändern. Wenn das Problem weiterhin besteht, müssen Sie es in Eclipse-Ausführungskonfigurationen ändern.

Ich hoffe es funktioniert, wie es bei mir funktioniert hat.

2
Haseeb Ahmad

Der Vollständigkeit halber können Sie auf Steg 7 Folgendes verwenden:

Java -jar start.jar --module=http jetty.port=9080
2
Danilo Silveira