Wie man multiple Java-Web-Anwendung in Tomcat bereitstellen, die auf verschiedenen Ports laufen wird? - Wie Einstellungen vorgenommen werden, damit verschiedene Webanwendungen auf verschiedenen Ports ausgeführt werden können - Was muss alles getan werden, um dies zu erreichen?Wie man multiple Web-Anwendung in Tomcat bereitstellen, die auf verschiedenen Ports laufen wird?
Antwort
Sie hätten besser mehrere Tomcat-Installationen. Es wäre einfacher.
Ich denke, Sie können mehrere <Connector>
s in server.xml
, und dann filtern Sie die Kontexte, aber das ist langweilig und klingt falsch.
Ich möchte wissen, wie es auf einem Tomcat-Server nur tun ..Ich will nicht mehrere Server. – LetsSyncUp
Was sind die Gründe für die Wahl dieser Option, anstatt mehrere Server zu haben? – Bozho
Sie müssen in Ihrer server.xml-Datei (tomcat_home/conf) einen anderen Dienst einrichten. Wenn Sie Ihren Server-Datei geändert haben, sollten Sie bereits ein Catalina genannt haben (ich bin mit Tomcat 5.5, können Sie etwas etwas anders, je nach Version haben)
<Service name="Dev2">
<Connector port="8090" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8092"
enableLookups="false" redirectPort="9443" protocol="AJP/1.3" />
<Engine name="Dev2" defaultHost="MyDev">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="MyDev" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
Beachten Sie, dass die Namen von Catalina nach Dev2 geändert haben, und localhost zu MyDev. Ändern Sie diese so, wie Sie für Ihre Anwendung geeignet erscheinen. Die Anschlüsse und Anschlüsse haben sich ebenfalls geändert. Sobald der neue Dienst eingerichtet ist, müssen Sie Anwendungen an den richtigen Dienst/Port bereitstellen. Sie erreichen dies unter XML-Dateien unter Verwendung (siehe Virtual Hosting)
Tomcat_Home/conf/Catalina/localhost/
und
Tomcat_Home/conf/Dev2/MyDev/
für die jeweiligen Ports, die Sie setzen
An diesem Punkt alles, was Sie tun müssen, ist hinzuzufügen, ein paar weitere Dateien, um den Dienst auf Ihre Anwendung zu verweisen. Als Beispiel unter Tomcat_Home/conf/Dev2/MyDev/
ich eine Datei Diese Datei enthält genannt Another.xml folgende
<Context path="/" docBase="C:/to_delete" debug="10" crossContext="false">
</Context>
Jetzt kann ich die neue Anwendung Zugriff auf die Web-Adresse http://127.0.0.1:8090/Another
Verwendung Wenn ich versuche, und Zugriff auf diese meine Standard-Port von 8080, erhalte ich einen Fehler, da die Anwendung für diesen gegebenen Port nicht bereitgestellt wurde.
Einige Dinge, die Sie über dieses Setup beachten sollten. Wenn Sie VirtualVM zum Anzeigen der Anwendung verwenden, werden Sie feststellen, dass sie dieselbe Prozess-ID verwenden. Daher müssen Sie besonders auf Ihre Ressourcen achten. Sie verwenden denselben Heap-Space und alle Threads werden in derselben Liste angezeigt. Wenn Sie sich bei Ihren Anwendungen angemeldet haben (z. B. Log4j), stellen Sie sicher, dass Sie eine Option haben, um anzuzeigen, welcher Thread die Arbeit erledigt hat, da es sonst schwer zu sagen ist, aus welchem Port/welcher Anwendung diese stammen würde.
Wie Bozho bereits darauf hingewiesen hat, kann es einfacher sein, einfach zwei Tomcat-Instanzen anstelle eines Servers zu verwenden, der mehrere Ports überwacht.
Es tut uns leid, dies eine Antwort zu geben. Ich sehe für diese Frage keine Kommentarfunktion. Die Frage ist zu alt oder mein Ruf ist nicht hoch genug.
Allerdings habe ich die gleiche Frage selbst untersucht. Sie müssen viel mehr darüber wissen, wie Tomcat, HTTP-Server und die Java-Systemumgebung die gleiche Instanz verwenden. Ich habe gelesen, wo es auch sehr langsam ist.
Die beste Wette ist separate Instanzen.Es gibt zwei recht einfache Möglichkeiten, das zu tun: A/Für Ubuntu können Sie SVN verwenden dieses Skript zu erhalten: http://ubuntuforums.org/showthread.php?t=1211517 http://code.google.com/p/tomcat-linux/
B/Ihre eigenen, pro Benutzerinstanz. die besten Richtungen für mehr JVM-Instanzen für die neueste Tomcat unter Linux http://brian.pontarelli.com/2007/09/17/multiple-tomcat-instances-on-ubuntu/
Die letzten für Kater 5.5 geschrieben wurde, aber wahrscheinlich anpassbar an Tomcat 6
Allerdings sind hier: http://www.puschitz.com/InstallingTomcat.html
Nun, der 'source' Befehl funktioniert nicht in Ubuntu in einer 'su' Umgebung. Plus, der 'puschitz.com' Link, den ich oben gesetzt habe, fordert ein 'Context' Element in die server.xml Datei. Ich habe einen funktionierenden Tomcat6 Server und es gibt keine server.xml Dateien auf meinem Computer mit diesem Element darin. Und aus diesen Gründen kann ich den puschitz.com-Ansatz nicht zum Laufen bringen. Also ziehe ich mich auf diesen Link zurück. Ich schaue mich immer noch selbst an. – Dennis
Sie können mod-proxy in apache verwenden, um den benutzerdefinierten Port auf den Standardport umzuleiten.
- 1. Tomcat-Server an zwei verschiedenen Ports ausführen
- 2. Tomcat-Webanwendung mit anderer web.xml-Datei bereitstellen
- 3. Wie mehrere Meteorserver auf verschiedenen Ports laufen lassen
- 4. Auf Tomcat bereitstellen
- 5. Tomcat 8.0 wird nicht laufen auf Mac
- 6. Integrationstestabdeckung für eine Webanwendung, die auf Tomcat bereitgestellt wird?
- 7. Wie kann ich eine Jersey-Webanwendung, die auf Tomcat bereitgestellt wird, in der Unit testen?
- 8. Bereitstellen einer einfachen Java Spark-Webanwendung
- 9. Bereitstellen von Webanwendung
- 10. Verschiedene Dienste auf verschiedenen Ports in WCF
- 11. Maven auf mehrere Tomcat-Server bereitstellen
- 12. Wie Krieg mit abhängiger Bibliothek auf Remote-Tomcat-Server bereitstellen
- 13. Wie wird die Java-Methode in einem ventrikulären Zeitintervall aufgerufen, das auf dem Apache Tomcat-Server als Webanwendung bereitgestellt wird?
- 14. Bereitstellen von Modulen in einer Webanwendung
- 15. Bereitstellen der ASP.NET-Webanwendung
- 16. Wie Nginx auf mehreren Ports ausgeführt wird
- 17. Einfache Java-Webanwendung auf Appfog bereitstellen
- 18. AWS Elastic Beanstalk, Dockerrun.aws.json und mehrere Ports auf Docker laufen
- 19. Lokale Pass Autorisierung auf verschiedenen Ports
- 20. Wie externe Webapp in Tomcat bereitstellen?
- 21. Bereitstellen von GWT-Anwendung auf Apache Tomcat
- 22. Bereitstellen einer versionierten WAR-Datei auf Tomcat
- 23. Bereitstellen von JAX-WS-Webdienst auf Tomcat
- 24. Wie soll ich eine Webanwendung auf Tomcat mit JMX überwachen?
- 25. Aktivieren sockets.io in segelt auf mehrere Ports laufen
- 26. Socket-Verbindung mit verschiedenen Ports
- 27. Zugriff auf JBOSS Tomcat-Webanwendung über Remotecomputer
- 28. Bereitstellen einer ASP.NET-Webanwendung in einem Intranet
- 29. Sub-Domain mit verschiedenen Ports in Plesk
- 30. Tomcat Setup Fehler beim Ändern des Ports
ein besonderer Grund, warum Sie verschiedene Ports benötigen? – JoseK
http://stackoverflow.com/questions/8823290/how-to-run-diffterent-apps-on-single-tomcat-instance-behind-different-ports – sab