Passa ai contenuti principali

Configurazione multi-sito con IIS e Tomcat

Hai 2 siti che vuoi far girare con Tomcat e IIS?
Nessun problema, è facile.
Ecco come...

Presupponiamo di avere l'Apache Tomcat Connector (http://tomcat.apache.org/connectors-doc/), IIS 6, Apache Tomcat 6 e che tutti funzioni già.

Per chiarezza, riassumiamo il giro della chiamata che parte dall'utente e arriva alla jsp:
  1. Utente
  2. IIS
  3. Tomcat Connector
  4. uriworkermap.properties
  5. workers.properties
  6. Tomcat
  7. pagina.jsp

Immaginiamo di avere il www.sito.it e en.sito.it
Prima di iniziare...

IIS e Tomcat devono funzionare da soli

Provate entrambi i siti sulla porta 80 e 8080 (o quella usata da Tomcat)

http://www.sito.it, http://www.sito.it:8080, http://en.sito.it e http://en.sito.it:8080

Questo vuol dire che nel vostro server.xml c'è qualcosa come:

<Host name="en.sito.it" appBase="webapps.en"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</host>

a questo punto...

facciamo parlare i due mondi con due siti



il file uriworker.properties deve contenere

# uriworkermap.properties - IIS
# The general syntax for this file is:
# [URL]=[Worker name]
#
## il sito in italiano
/sito.it/*.jsp=workerIT
/www.sito.it/*.jsp=workerIT
#
## english
/en.sito.it/*.jsp=workerEN
# non facciamo entrare la gente nel WEB-INF
/WEB-INF/*=workerIT


il file workers.properties deve contenere

# l'elenco dei worker
worker.list=workerIT,workerEN

# il worker dell'italiano, workerIT (ajp13)
worker.workerIT.type=ajp13
worker.workerIT.host=localhost
worker.workerIT.port=8009

# il worker dell'inglese, workerEN (ajp13)
worker.workerEN.type=ajp13
worker.workerEN.host=en.sito.it
worker.workerEN.port=8009

Il segreto di tutto sta nel mapping dell'uriworkermap, che dice di usare un worker particolare se si sta usando un determinato sito.

Riavviamo Tomcat e IIS... e tutto dovrebbe funzionare.
Nel dubbio guardate i log del connector.

ciao
/m

Commenti

Post popolari in questo blog

jQuery validation message in italiano

Ecco i messaggi in italiano per il plugin Validation di jQuery . http://docs.jquery.com/Plugins/Validation ciao /m /* * Translated default messages for the jQuery validation plugin. * Language: IT */ jQuery.extend(jQuery.validator.messages, { required: "Questo campo è obbligatorio.", remote: "Riempire questo campo per continuare.", email: "Inserire un indirizzo email valido.", url: "Inserire un indirizzo URL valido.", date: "Inserire una data in formato mm-gg-aaaa.", dateDE: "Inserire una data in formato gg-mm-aaaa.", dateISO: "Inserire una data in formato aaaa-mm-gg.", number: "Inserire un numero.", digits: "Inserire (solo) un numero.", creditcard: "Inserire un numero di carta di credito valido.", equalTo: "Inserire lo stesso valore usato sopra.", accept: "Usare un'estensione valida....

jsp+form: problemi con caratteri accentati

Con il submit di un form (GET o POST) si possono ricevere schifezze al posto dei caratteri accentati. Ipotizzando di usare UTF8, non basta che: il file sia salvato come UTF-8 la pagina dica di essere UTF-8 <meta equiv="Content-Type" content="text/html; charset=utf-8"> Occorre specificare anche l'encoding della request: Sarebbe anche da impostare l'encoding del Connector per prendere valori accentati dalla request. può essere utile: http://wiki.apache.org/tomcat/FAQ/CharacterEncoding enjoy /m

I tipi dati in MySQL

Due tabelline comode comode per numeri e stringhe. I numeri sono in formato americano. Numeri   Signed Unsigned   da a da a TINYINT[( M )] -128 127 0 255 SMALLINT[( M )] -32768 32767 0 65535 MEDIUMINT[( M )] -8388608 8388607 0 16777215 INT[( M )] INTEGER[( M )] -2147483648 2147483647 0 4294967295 BIGINT[( M )] -9,223E+18 9,223E+18 0 1,844E+19 SERIAL alias di BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE FLOAT[( M , D )] Valori da -3.402E+38 a -1.175E-38, 0, e 1.175E-38 a 3.402E+38 DOUBLE[( M , D )] Valori da -1.797E+308 a -2.225E-308, 0, e 2.225E-308 a 1.797E+308. DECIMAL[( M [, D ])] M è il numero di cifre (numero massimo : 65, default: 10 ) D sono i decimali (numero massimo: 30) Valori da MySQL 5.0.3 Stringhe tipo da a   CHAR[( M )] 0 255   VARCHAR( M ) 0 65,535 Da MySQL 5.0.3   0 255 Prima di MySQ...