PH: Para instalar el servidor donde tengo mis proyectos web para enseñarselos a mis clientes, un jenkins y una base de datos postgres (o sea, un entorno básico de pruebas donde correr varios proyectos para testear) no necesito a ningún Señor Don Ingeniero de sistemas, gracias. Me las sé apañar yo solo.
De la historia: Siempre he estado desarrollando y nunca he tenido que configurar dichos servidores para ponerlos en producción
Para hacer comentarios sin leer la noticia no hace falta crearse una cuenta, con un PH hay suficiente...
"Si este señor va a poner en producción un proyecto que tiene en fase de prueba de concepto, con unos requisitos de usuarios mínimos, pues no va a contratar a todo un Señor Don Ingeniero para hacer eso, a menos que el Señor Don Ingeniero quiera hacerlo a cambio de dos cervezas y una tapa, como acto de amistad. Es por eso que el muchacho ha venido a preguntar a Barrapunto, simplemente para ver si podía encontrar algo de información sobre una duda que tiene, ya que lo está haciendo él mismo, no pidiendo que se lo hagan gratis.
"
Gracias, alguien que me ha entendido a la primera. Da la casualidad que soy ingeniero informatico de sistemas y me gano la vida como desarrollador J2ee, 9 años ya. Siempre he trabajado con servidores de aplicaciones como desarrollador y la parte de poner en produccion un sistema o tunearlo SIEMPRE va a cargo de la gente super especializada y profesional de sistemas. Y da tambien la casualidad que estoy haciendo este proyecto como prueba de concepto para un amigo, por la patilla y algo tendré que ganar yo tambien, el conocimiento al menos. Una vez dicho esto, quiero comentar mis avances de lo que he aprendido esta semana.
Lo primero comentar que la prueba de concepto la ha he construido usando el framework openxava de Javier Paniza.
Al lio, entiendo que poner algo en produccion requiere de como mínimo un servidor web como apache que reciba las peticiones, almacene el contenido estático y redireccione al servidor/es de aplicacion/es. Como es una prueba de concepto y solo tengo una maquina, he instalado apache2 y tomcat7 y los he puesto que arranquen como servicio. Siguiente paso, habilitar AJP en el tomcat para que escuche las peticiones en el 8009 y las redireccione al 8443:
Siguiente paso, configurar el fichero/APACHE_HOME/httpd.conf
con el siguiente contenido:
ProxyPass/Gestion ajp://IP_DEL_SERVIDOR:8009/Gestion retry=5
ProxyPassReverse / ajp://localhost:8009/
Con la primera linea consigo que todas las peticiones que se hagan sobre el recurso Gestion, se redireccionen a mi aplicación.
y que espere como mucho 5 segundos si habido un 404 por ejemplo.
Con la segunda linea permito que sea apache el que cambia las cabeceras Location, Content-Location y URI de las respuestas que nos manda el Tomcat, de tal forma que para un usuario externo, el que le está respondiendo es el Apache, y no un Tomcat por detrás.
Ahora el server.xml del tomcat:
Si os fijais, aun no habilito el canal https y en el conector he seteado el campo maxThreads a 300, suponiendo que este servidor va a ser capaz de crear y atender 300 peticiones concurrentemente. Aun no se si este numero es correcto y supongo que tendre que calcularlo usando jmeter y jprobe...
En el fichero contexto.xml del tomcat defino el recurso jndi de mi base de datos:
ahi defino el maxActive a 300, intentando que este parametro esté en consonancia con el parametro maxThreads del tomcat.
Ahora voy con el apache, edito el fichero/etc/apache2/http.conf
y añado la directiva MaxClients 300
Por ahora es todo lo que he averiguado y se que tengo mucho por aprender todavía.
Opiniones? sugerencias? criticas? fundadas por favor.
Un saludo y gracias por leer hasta aquí
Re:estáis poco flipaos...
(Puntos:2)( http://barrapunto.com/~puefale/bitacora | Última bitácora: Jueves, 01 Mayo de 2014, 10:26h )
Pué fueno, pué fale, pué m'alegro.
Maquinavaja.
Re:estáis poco flipaos...
(Puntos:2, Informativo)