Tomcat – Sebastians Blog https://sgaul.de Neues aus den Softwareminen Thu, 13 Mar 2014 20:34:45 +0000 de-DE hourly 1 https://wordpress.org/?v=6.1.1 https://sgaul.de/wp-content/uploads/2019/02/cropped-sgaul-2-1-32x32.jpg Tomcat – Sebastians Blog https://sgaul.de 32 32 Mikro-Webframework Spark https://sgaul.de/2013/01/31/mikro-webframework-spark/ Thu, 31 Jan 2013 20:57:53 +0000 https://sgaul.de/?p=1918 Mikro-Webframework Spark weiterlesen]]> Für Node und Co. sieht man sie überall, aber auch für Java gibt nette Minimal-Frameworks, wenn es um eine kleine Webanwendung geht. Spark ist einer der Vertreter, über den ich gerade gestolpert bin. Nicht ewig mit Umherkonfigurieren, keine neue Template-Sprache lernen, kein stundenlanges API-Lesen. Wenn der Großteil der Webapp ohnehin aus Javascript besteht, ist so eine Lösung oft genau das, was man braucht:

public static void main(String[] args) {

  get(new Route("/hello") {
     @Override
     public Object handle(Request req, Response res) {
         return "Hello World!";
     }
  });

}


Das ganze Ding unterstützt nur wesentliche Sachen wie Routing und Request-Response-Verarbeitung. Alles andere kann man sich entsprechend eigener Vorlieben zusammensuchen oder einfach weglassen – je nach Einsatzzweck.

Das Ergebnis läuft dann  mit Hilfe von Jetty selbstständig als Webserver (was die Entwicklung vereinfacht), lässt sich aber natürlich auch in einem Tomcat unterbringen.

spark-micro-webframework

]]>
Heterogene Webserver-Umgebung mit Nginx zusammenfassen https://sgaul.de/2013/01/12/heterogene-webserver-umgebung-mit-nginx-zusammenfassen/ Sat, 12 Jan 2013 13:12:50 +0000 https://sgaul.de/?p=1879 Heterogene Webserver-Umgebung mit Nginx zusammenfassen weiterlesen]]> Nginx ist ein recht schmaler Webserver, der dank seiner Forward-Proxy-Eigenschaften sehr gut dazu geeignet ist, verschiedene Webserver unter einem Host zusammenzufassen.

„Für jeden Job das passende Werkzeug“ führt gern zu folgenden Strukturen auf Server und Entwicklungsumgebung:

http://localhost:8080/tomcat-project
http://localhost:8081/node-project
http://localhost:8082/php-project

Ein Albtraum für jeden Ajax-Entwickler. Mit Nginx lassen sich verschiedene Hosts und Ports zusammenfassen.

Nginx unter Ubuntu installieren und konfigurieren

sudo apt-get install nginx

Ähm… Fertig. Linux eben. Nun die Konfigurationdatei

/etc/nginx/sites-available/default

etwa folgendermaßen anpassen:

server {
    listen   80;
    server_name localhost;

    location /tomcat-project/ {
        proxy_pass http://127.0.0.1:8080/tomcat-project/;
    }

    location /node-project/ {
        proxy_pass http://127.0.0.1:8081/node-project/;
    }

    location /php-project/ {
        proxy_pass http://127.0.0.1:8082/php-project/;
    }
}

Standardport des Apache ändern

Wird PHP mittels Apache ausgeliefert, muss der standardmäßig verwendete Port 80 geändert werden. Hierfür die 80 in den folgenden Dateien auf den Wunschport (im Beispiel oben etwa 8082) umstellen:

/etc/apache2/ports.conf
/etc/apache2/sites-available/default
/etc/apache2/sites-available/*

Abschließend Apache und Nginx neustarten:

sudo /etc/init.d/apache2 restart
sudo /etc/init.d/nginx restart

Selber Host, selber Port

Nun lassen sich verschiedene Webserver (technologisch oder gar physisch getrennt) über die selbe Adresse erreichen:

http://localhost/tomcat-project
http://localhost/node-project
http://localhost/php-project

Das Beispiel bezieht sich lediglich auf HTTP, kann aber analog für beispielsweise HTTPS (Port 443 statt 80) konfiguriert werden.

http://nginx.org/
http://nginx.org/

Um hier keinen falschen Eindruck aufkommen zu lassen: Nginx kann noch weitaus mehr. So ist ein Apache unter Umständen gar nicht notwendig und PHP kann als CGI direkt ausgeführt werden. Die offizielle Dokumentation sollte einen etwas umfangreicheren Überblick liefern.

]]>