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

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

Montare il CD di Windows su un'istanza EC2 Amazon

Per montare il CD di Windows in un'istanza EC2 (per installare IIS)... 0. Occorre avere EC2 API tools 1. Creare un volume da una snapshot esistente Per Windows Datacenter 32bit (verifica la zona): ec2-create-volume --snapshot snap-b8bb5ed1 --availability-zone eu-west-1b Per altre versioni di Windows: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1802 2. Montare il volume su un'istanza ec2-attach-volume volume_id --instance instance_id --device xvdg 3. Aspettare 2 minuti... Adesso nell'istanza selezionata compare una nuova unità con i file necessari per l'installazione. ciao /m