<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fernando Gomez &#187; Servidores</title>
	<atom:link href="http://www.fernandogomez.es/category/servidores/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fernandogomez.es</link>
	<description>CEO del Grupo mAs impacto y un apasionado de Internet</description>
	<lastBuildDate>Thu, 12 Jan 2012 10:00:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Instalar nginx en Plesk para mejorar el tiempo de carga en webs de mucho tráfico</title>
		<link>http://www.fernandogomez.es/instalar-nginx-en-plesk-para-mejorar-el-tiempo-de-carga-en-webs-de-mucho-trafico-10729</link>
		<comments>http://www.fernandogomez.es/instalar-nginx-en-plesk-para-mejorar-el-tiempo-de-carga-en-webs-de-mucho-trafico-10729#comments</comments>
		<pubDate>Mon, 20 Sep 2010 07:10:23 +0000</pubDate>
		<dc:creator>Fernando Gomez</dc:creator>
				<category><![CDATA[Servidores]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[xcache]]></category>

		<guid isPermaLink="false">http://www.fernandogomez.es/?p=729</guid>
		<description><![CDATA[Desde hace muchos meses llevamos buscando opciones para mejorar el rendimiento de algunos de nuestros sites, porque cuando un web recibe mucho tráfico simultáneo, Apache no aguanta, así de claro. El problema está en que Apache está concebido hace muuuuuchos años (15 años en Internet son muchos años) y entonces no había ni la cantidad de tráfico [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-735 alignnone" title="nginx" src="http://www.fernandogomez.es/wp-content/uploads/2010/09/nginx.jpg" alt="nginx" width="350" height="90" /></p>
<p>Desde hace muchos meses llevamos buscando opciones para <strong>mejorar el rendimiento de algunos de nuestros sites</strong>, porque cuando un web recibe <strong>mucho tráfico simultáneo</strong>, <strong>Apache no aguanta,</strong> así de claro.</p>
<p>El problema está en que Apache está concebido hace muuuuuchos años (15 años en Internet son muchos años) y entonces no había ni la cantidad de tráfico simultáneo actual, ni los webs servían tantos datos por cada página, por lo que las sesiones de apache se cerraban muy rápidamente.</p>
<p>Ahora, si un web típico en creado con <a href="http://www.fernandogomez.es/category/wordpress">WordPress</a> tiene mucho tráfico, <a href="http://www.fernandogomez.es/tag/apache">Apache</a> debe gestionar cada llamada a php, cada llamada a cada include y cada llamada a cada imágen estática, &#8230; y llega un momento que las sesiones se solapan y las que debían haberse cerrado hace rato no se cierran, creando un bucle que requiere buscar soluciones que vayan más allá del simple incremento de las prestaciones del servidor.</p>
<p>Hace justo un año, escribía como <a title="Permanent Link to Instalar xCache en centOS 5 – Plesk 9.2" rel="bookmark" href="http://www.fernandogomez.es/instalar-xcache-en-centos-5-plesk-9-2-10565">Instalar xCache en centOS 5 – Plesk 9.2</a> , unos días después comentaba como ajustar un poquito xCache en <a title="Permanent Link to Configurar y optimizar xCache" rel="bookmark" href="http://www.fernandogomez.es/configurar-y-optimizar-xcache-10577">Configurar y optimizar xCache</a> y un mes después <a title="Permanent Link to WordPress en varios servidores simultáneamente" rel="bookmark" href="http://www.fernandogomez.es/wordpress-en-varios-servidores-10601">WordPress en varios servidores simultáneamente</a> . He de confesar que <a title="Permanent Link to Instalar xCache en centOS 5 – Plesk 9.2" rel="bookmark" href="http://www.fernandogomez.es/instalar-xcache-en-centos-5-plesk-9-2-10565">Instalar xCache</a> ha supuesto una mejora brutal, pero el doble frontal en varios servidores no tanto, es cierto que mejora, pero no lo que esperaba.</p>
<p>Ahora hemos instalado <a href="http://nginx.org/">nginx</a> y la mejora a vueto a ser increíble. <a href="http://www.fernandogomez.es/tag/nginx">nginx</a> es un servidor web creado en Rusia <strong>mucho más ligero que Apache</strong> y sobre todo concebido hace un par de años y especialmente pensado para dar solución al problema de los webs con mucho tráfico (lo utilizan webs como wordpress.com, meneame.net, scribd.com, badoo.com, etc).</p>
<p><strong>En que consiste la idea.</strong><br />
La idea de la instalación que verás mas abajo es dejar correr nginx y Apache simultáneamente. En internet te encontrarás muchas formas de instalar nginx. Esta es una más, pero creo que es la más sencilal y se lleva a cabo en muy pocos pasos y sobre todo funciona <img src='http://www.fernandogomez.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>A <a href="http://www.fernandogomez.es/tag/apache">Apache</a> le dejaremos que sirva todo el contenido dinámico (le asignaremos el puerto 8080) y a <a href="http://www.fernandogomez.es/tag/nginx">nginx</a> que se encargue de cargar el contenido estáticos (le damos prioridad por el clásico puerto 80). Es como tener dos servidores web corriendo al mismo tiempo por capas del servidor diferentes.</p>
<p><strong>1. Instalar yum en tu servidor:</strong><br />
En mi caso lo hago desde el PIM (panel de administración de los VPS del anfitrión PLESK), así que no puedo decirte como hace desde SSH, pero si he visto diferentes manuales en Internet que te ayudarán.</p>
<p><strong>2. Actualizamos el repositorio EPEL del Centos x64:</strong><br />
Es posible que cuando leas esto haya una versión más actualizada del repositorio. En mi caso la más actual era epel-release-5-4.noarch.rpm , pero puedes verlo directamente accediendo a http://download.fedora.redhat.com/pub/epel/5Server/x86_64</p>
<p>Obviamente si tu servidor no es x64 sino x32 debes buscar el que le corresponda.<br />
<code><br />
sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5Server/x86_64/epel-release-5-4.noarch.rpm<br />
</code></p>
<p><strong>3. Le decimos al YUM que haga el trabajo sucio e instale todo lo necesario para poner en marcha nginx:</strong><br />
<code><br />
sudo yum install nginx</code></p>
<p>Durante el proceso preguntara varias veces, varias cosas. La respuesta debe ser siempre &#8220;Y&#8221;<br />
Ya está instalado nginx. Ahora nos falta hacerlo compatible con Plesk y cambiar los puertos para hacer correr Apache y nginx de forma simultánea.</p>
<p><strong>4. Descargamos un script para reconfigurar PLESK<br />
</strong><br />
<code>cd /etc/nginx/<br />
wget http://www.grafxsoftware.com/download/nginx/nginx_setup.zip<br />
unzip nginx_setup.zip<br />
</code><br />
Si la descarga no funcionara, he copiado ese fichero y puedes descargarlo también desde mi blog:</p>
<p><code>cd /etc/nginx/<br />
wget http://www.fernandogomez.es/download/nginx/nginx_setup.zip<br />
unzip nginx_setup.zip<br />
</code></p>
<p><strong>5. Ejecutamos el fichero configurador</strong><br />
Revisa todos los dominios instalados y genera los scripts correspondientes de nginx para cada dominio existente en el servidor.<br />
<code><br />
sh generate_nginx_conf.sh </code></p>
<p><strong>6. Cambiamos Apache del plesk de puerto</strong><br />
Las líneas de horde, atmail y webmail tendrás que ejecutarlas dependiendo de si lo tienes instalado o no. Lo que no tengas instalado, te generará un error, que debes omitir.</p>
<p><code><br />
/usr/local/psa/admin/sbin/websrvmng --set-http-port --port=8080<br />
/usr/local/psa/admin/sbin/websrvmng --reconfigure-all<br />
/usr/local/psa/admin/sbin/webmailmng --disable --name=horde<br />
/usr/local/psa/admin/sbin/webmailmng --enable --name=horde<br />
/usr/local/psa/admin/sbin/webmailmng --disable --name=atmail<br />
/usr/local/psa/admin/sbin/webmailmng --enable --name=atmail<br />
/usr/local/psa/admin/sbin/webmailmng --disable --name=atmailcom<br />
/usr/local/psa/admin/sbin/webmailmng --enable --name=atmailcom<br />
service httpd restart<br />
service nginx restart</code></p>
<p><strong>7. Configurar el reinicio de nginx</strong><br />
No puedes olvidarte de configurar tu servidor para que al reiniciar, arranque nginx. Sino lo haces, al hacer un <strong><em>reboot</em></strong> solo arrancará apache, así que no lo configuras, tus webs no funcionarán. El comando :</p>
<p><code>chkconfig –level 345 nginx on</code><br />
debería funcionar, pero yo prefiero reiniciar y probar por si acaso y si no fuera, configurarlo a pelo, desde<br />
<code><br />
ntsysv</code></p>
<p>Espero que el resumen te sirva lo mismo que a nosotros para mejorar el rendimiento de tus webs. Te puedo confirmar incluso que si tienes un buen SEO, esta mejora en la velocidad de carga supone un plus a la hora de posicionar tus webs. Todo esto lo he ido encontrando y compilando gracias sobre todo a:<br />
- <a href="http://blog.jam.net.ve/2010/02/16/instalando-nginx-en-centos">http://blog.jam.net.ve/2010/02/16/instalando-nginx-en-centos</a><br />
- <a href="http://www.cike.ws/2010/08/11/nginx-y-plesk/">http://www.cike.ws/2010/08/11/nginx-y-plesk/</a></p>
<p>así que les agradezco desde aquí toda la info y sus artículos.</p>
<p>Más info acerca de nginx en : <a href="http://wiki.nginx.org">http://wiki.nginx.org</a></p>
<p><strong>Actualización</strong>: Un tema importante que debéis tener en cuenta es que si después de instalar nginx, añades un nuevo dominio a Plesk, no funcionará correctamente, si no vuelves a repetir el proceso desde el paso 5.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandogomez.es/instalar-nginx-en-plesk-para-mejorar-el-tiempo-de-carga-en-webs-de-mucho-trafico-10729/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Evitar el email del log de DrWeb cada hora</title>
		<link>http://www.fernandogomez.es/evitar-el-email-del-log-de-drweb-cada-hora-10659</link>
		<comments>http://www.fernandogomez.es/evitar-el-email-del-log-de-drweb-cada-hora-10659#comments</comments>
		<pubDate>Wed, 24 Feb 2010 22:41:46 +0000</pubDate>
		<dc:creator>Fernando Gomez</dc:creator>
				<category><![CDATA[Servidores]]></category>
		<category><![CDATA[drweb]]></category>
		<category><![CDATA[pleask]]></category>

		<guid isPermaLink="false">http://www.fernandogomez.es/?p=659</guid>
		<description><![CDATA[Hace unas cuantas semanas, con las últimas actualizaciones de PLESK (9.2.3 y 9.3.0), cayó en nuestras manos, en nuestros servidores una pequeña petada del antivirus que también incluye Parallels cuando actualiza sus versiones: el Drweb. Y es que de golpe y porrazo, el Dr.Web no solo envía un correo cuando hay algún problema en la actualización de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.fernandogomez.es/wp-content/uploads/2010/02/dr-web.jpg"><img class="size-full wp-image-660  aligncenter" title="Dr. Web" src="http://www.fernandogomez.es/wp-content/uploads/2010/02/dr-web.jpg" alt="" width="450" height="225" /></a></p>
<p>Hace unas cuantas semanas, con las últimas actualizaciones de PLESK (9.2.3 y 9.3.0), cayó <span style="text-decoration: line-through;">en nuestras manos,</span> en nuestros servidores una pequeña petada del antivirus que también incluye Parallels cuando actualiza sus versiones: el Drweb.</p>
<p>Y es que de golpe y porrazo, el Dr.Web <strong>no solo envía un correo cuando hay algún problema</strong> en la actualización de su base de datos, <strong>sino que lo hace cada hora</strong>, pase lo que pase, sea correcta o no esa actualización de virus conocidos.</p>
<p>Además, los correos los envía a drweb@nombre_del_host.com , cuenta de correo que nadie tiene creada. Si tienes un solo servidor, quizás te cueste poco crear ese email, pero si virtualizas tu máquina y tienes unos cuantos VPS, entonces sería un suplicio ponerte a ello, además de tener en cuenta que todo eso es tráfico y ancho de banda.</p>
<p>La solución pasa por modificar el fichero <em>/etc/drweb/drweb32.ini</em> en la línea<br />
CronSummary = {Yes | No}</p>
<p>Poniendo <em>No</em> en lugar de <em>Yes</em>.</p>
<p>Via: <a href="http://kb.parallels.com/en/7023" target="_blank">After upgrade Parallels Panel to version 9.2.3 Dr.Web notification deliveries start failing</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandogomez.es/evitar-el-email-del-log-de-drweb-cada-hora-10659/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress en varios servidores simultáneamente</title>
		<link>http://www.fernandogomez.es/wordpress-en-varios-servidores-10601</link>
		<comments>http://www.fernandogomez.es/wordpress-en-varios-servidores-10601#comments</comments>
		<pubDate>Tue, 20 Oct 2009 10:53:07 +0000</pubDate>
		<dc:creator>Fernando Gomez</dc:creator>
				<category><![CDATA[Servidores]]></category>
		<category><![CDATA[Webmasters]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.fernandogomez.es/?p=601</guid>
		<description><![CDATA[Las ventajas de que un site crezca son obvias: si estás haciendo bien las cosas, más tráfico = más ingresos. Pero si tu web tiene mucho tráfico y no tienes tecnología suficiente que lo soporte &#8230; puedes empezar a ver como en realidad habrá muchas peticiones a la web, pero el tráfico baja por que [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Las ventajas de que un site crezca son obvias: si estás haciendo bien las cosas, más tráfico = más ingresos. Pero si tu web tiene mucho tráfico y no tienes tecnología suficiente que lo soporte &#8230; puedes empezar a ver como en realidad habrá muchas peticiones a la web, pero el tráfico baja por que el servidor no es capaz de servir las páginas.</p>
<p>Es decir, <strong>tendrás el servidor petado</strong> y al final habrás preferido tener un tráfico intermedio, porque al menos no te daba problemas. Espero que no lo hayas pensado en serio <img src='http://www.fernandogomez.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Para incrementos de tráfico razonables, hay varias soluciones:<br />
1/ El más simple, es reducir el peso de tu web y el número de querys a la base de datos y de llamadas a Apache.<br />
2/ <a href="http://www.fernandogomez.es/instalar-xcache-en-centos-5-plesk-9-2-10565">Instalar xCache</a> u otro acelerador de php a nivel servidor.<br />
3/ Tunear MySQL (escribiré un post sobre eso en breve)<br />
4/ Tunear Apache (tengo otro post pendiente)</p>
<p>Pero cuando hay un <strong>incremento brutal de tráfico</strong> como nos ha pasado a nosotros en nuestro blog de <a href="http://www.demujer.es" target="_blank">mujer</a>, la cosa se pone fea si no se adoptan otro tipo de medidas: Distribuir la carga entre 3 máquinas o VPS, ya que es Apache quien no es capaz de servir adecuadamente las páginas por mucha máquina que tengas.</p>
<p style="text-align: center;"><img class="aligncenter" title="wordpress balanceado entre servidores" src="http://www.fernandogomez.es/wp-content/uploads/2009/10/wordpress-balanceado-2-servidores.jpg" alt="wordpress instalado en varios servidores" width="450" height="275" /></p>
<p><strong>Servidor 1</strong>/ Aquí estará la instalación inicial de WP. Mysql lo apagamos, dejamos correr Apache.<br />
<strong>Servidor 2</strong>/ Tendremos solo Apache y una copia exacta de la instalación del Worpdress del primer servidor.<br />
<strong>Servidor 3</strong>/ Solo Mysql. El resto de servicios apagados.<br />
En el servidor 1 y 2, por supuesto debes <a href="http://www.fernandogomez.es/configurar-y-optimizar-xcache-10577">configurar correctamente el xCache</a>.</p>
<p>Esta es la idea. Ahora vamos a ver como ponerla en práctica:</p>
<p>Hay cuatro pasos:<br />
1/ Instalación normal del WordPress en el servidor 1<br />
2/ Cambio del Mysql al servidor 3<br />
3/ Duplicación del contenido entre los servidores 1 y 2<br />
4/ Balanceo y sincronización entre los servidores 1 y 2.</p>
<p><strong>El paso 1.<br />
</strong>Ni lo menciono. Te instalas tu wordpress y andando, como si nada.</p>
<p><strong>El paso 2.</strong><br />
-  Crea un usuario y base de datos en el servidor 3.<br />
-  Vuelca el contenido del MySQL desde el servidor 1 al servidor 3. Nosotros utilizamos el software <a href="http://www.mysqlfront.de/" target="_blank">MySQLFront</a>. Hace la migración de la estructura y datos, <strong>rápido y bien</strong>. Yo no me complicaría la vida con comandos por SSH.<br />
- Modifica el wp-config.php y en las líneas en las que configurar la base de datos, coloca la IP, usuario, base de datos y claves que tengas en el MySQL del servidor 3.</p>
<p>Asegúrate de que esa base de datos es accesible desde fuera del propio servidor. Si no sabes como se hace te recomiendo <a href="http://cambrico.net/mysql/como-crear-un-usuario-en-mysql-3-formas-diferentes" target="_blank">este post</a> y <a href="http://www.conclase.net/mysql/curso/index.php?cap=013" target="_blank">este otro artículo</a>.</p>
<p>Hecho esto, el apache responderá al Servidor 1 y MySQL al servidor 3.</p>
<p><strong>El paso 3.</strong><br />
El dominio en cuestión que utilices ya está dado de alta en el servidor 1 de forma normal.<br />
A la hora de darlo de alta en el nuevo servidor, puedes crearlo manualmente o si utilizas PLESK, utilizar el comando Migrar. Vamos a ver como sería en cada caso:</p>
<p>A/ Manualmente:<br />
- Ahora da alta en el servidor 2 el mismo dominio, como si no existiera el primero.<br />
- Accede por SSH al servidor 2. Comprueba que las rutas son las que deben ser, es decir las mismas que el servidor 1. Solo necesitamos volcar el contenido tal y como está en el servidor 1.</p>
<p>Para eso utilizamos el comando <a href="http://josearrarte.com/blog/2009/07/29/copiar-archivos-utilizando-scp-en-linux/" target="_blank">scp</a> . Accede al servidor 1 por ssh, haz un tar del contenido del dominio. Luego accede al servidor 2 por ssh. Sitúate en el mismo directorio donde has hecho el tar en el otro servidor e introduce el comando:<br />
<code><br />
scp <a href="mailto:root@ip-servidor1:/var/www/vhost/dominio.com/httpdocs/backup.tar">root@ip-servidor1:/var/www/vhost/dominio.com/httpdocs/backup.tar</a> .<br />
</code><br />
Modificando la ip y las rutas en tu caso. Destargetea el backup y ya tienes tu contenido.</p>
<p>B/ Utilizando el Migrar de PLESK9.<br />
Vas al servidor destino y utilizas el comando Migrar. Espera a que haya terminado la migración y comprueba el log de errores si que falla algo.</p>
<p>Hayas utilizado el procedimiento que hayas usado:<br />
- Borra todas las DNS creadas por el servidor por defecto (en PLESK 9: Desactivar servicio)<br />
- Crea manualmente los registros DNS de las dns que resuelvan el dominio en cuestión.<br />
Es decir si en tu registrador tienes ns1.servidordenombres1.com y ns1.servidordenombres2.com , debes agregar esos dos registros ns, para indicarle al dominio quien va a resolver la ip del dominio son esos DNS.<br />
- Desactiva el servicio de correo del servidor si lo tenías activado.</p>
<p>Ahora tenemos que volver al panel del servidor 1 y añadir una línea en las DNS.<br />
Verás que ahora tienes un IN A <a href="http://www.dominio.com">www.dominio.com</a>  a la ip del servidor 1. Debes duplicarla colocando la ip del servidor 2. De ese modo, cuando alquien llegue al dominio, puede responder una u otra ip y balancear de ese modo la carga entre ambos servidores.</p>
<p>Resetea Named y Apache y en unos minutos empezarás a recibir tráfico en la segunda máquina.<br />
¿Como puedes saberlo? Accede por ssh al servidor 2 e introduce el comando</p>
<p><code><br />
watch 'netstat -anp | grep :80 | wc -l '<br />
</code></p>
<p>De devolverte valores casi cero, pasará a mostrarte el núemro de sesiones de apache abiertas. Eso siginifica que ya empieza a responder a algunas llamadas. De todos modos, el balanceo no será proporcional hasta que pasadas 12/24 hora, se propaguen bien las dns.</p>
<p><strong>El paso 4.<br />
</strong>Ya tenemos un servidor solo para las bases de datos y la carga de Apache balanceada. Notarás la mejoría en el tiempo de respuesta de tu web, una salvajada. De repente verás como el tráfico de tu web sube y no es real, esas visitas de más son las que no eras capaz de servir por falta de máquina antes de poner en marcha todo esto.</p>
<p>Ahora nos falta sincronizar los contenidos.<br />
Aqui tengo que dar las gracias a Francisco Monteagudo, <a href="http://teleobjetivo.org/blog/wordpress-en-dos-servidores-en-paralelo.html" target="_blank">por su post</a>.  No tienes más que seguir la última parte al pie de la letra que copio aquí:</p>
<ol>
<li>Desde la línea de comandos del servidor linux primario, ejecutamos: <em>ssh-keygen -t rsa -b 4096 -f /root/.ssh/id_rsa</em></li>
<li>El comando anterior nos pedirá que introduzcamos una passphrase; la dejamos en blanco.</li>
<li>Ahora, en el directorio de configuración del ssh del usuario root tendremos dos ficheros, id_rsa que contiene la clave privada y id_rsa.pub que contiene la clave pública.</li>
<li>Copiamos la clave pública al servidor linux secundario, al directorio /root/.ssh</li>
<li>En el servidor secundario, vamos al directorio /root/.ssh y buscamos el fichero &#8220;authorized_keys&#8221;. Si el fichero no existe, entonces renombramos el fichero id_rsa.pub que hemos copiado del servidor primario. Si existe, lo editamos y el fichero id_rsa.pub lo añadimos como última línea.</li>
<li>Ahora volvemos al linux primario y creamos el siguiente script:<br />
<blockquote><p><em>#!/bin/sh<br />
rsync -avz secundario:/directoriouploads2 /directoriouploads1<br />
rsync -avz /directoriouploads1 secundario:/directoriouploads2</em> </p></blockquote>
<p>Siendo:</p>
<ul>
<li><strong>secundario:</strong> Dirección IP del servidor secundario.</li>
<li><strong>directoriouploads1</strong>: Directorio de uploads de wordpress en el linux primario.</li>
<li><strong>directoriouploads2:</strong> Directorio de uploads de wordpress en el linux secundario.</li>
</ul>
</li>
<li>Creamos una entrada en el crontab del linux primario para que el script anterior se ejecute cada hora.</li>
</ol>
<p>Mi recomendación es si tienes un cache de WordPress tipo 1Bloger, SuperCache, etc es que los desactives, a no ser que ejecutes la sincronización cada minuto, pero me parece demasiado.</p>
<p>Otra recomendación es que los editores siempre trabajen con el servidor 1. Para que no le responda unas veces el 1 y otra sel 2, debes modificar el archivo hosts que tienes en tu ordenador en la ruta  C:\WINDOWS\system32\drivers\etc\hosts , añadiendo una linea donde le indiques que para ese dominio debe acudir a la IP del servidor 1.</p>
<p>Creo que no me dejo nada. Si crees que se puede hacer de otro modo, te agradecería que hicieses un comentario.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandogomez.es/wordpress-en-varios-servidores-10601/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Configurar y optimizar xCache</title>
		<link>http://www.fernandogomez.es/configurar-y-optimizar-xcache-10577</link>
		<comments>http://www.fernandogomez.es/configurar-y-optimizar-xcache-10577#comments</comments>
		<pubDate>Thu, 17 Sep 2009 16:37:29 +0000</pubDate>
		<dc:creator>Fernando Gomez</dc:creator>
				<category><![CDATA[Servidores]]></category>
		<category><![CDATA[Webmasters]]></category>
		<category><![CDATA[centOS]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[xcache]]></category>

		<guid isPermaLink="false">http://www.fernandogomez.es/?p=577</guid>
		<description><![CDATA[Desde que hace unos días hemos instalado xCache en varios servidores, nos hemos puesto a la tarea de aprender como funciona y optimizar su configuración para sacarle mayor rendimiento. Todavía no controlo completamente cada parámetro pero si que tengo algunas pistas de como empezar a tunear el xcache.ini para mejorar su rendimiento: 1/ Instalar el [...]]]></description>
			<content:encoded><![CDATA[<p>Desde que hace unos días hemos instalado<a href="http://www.fernandogomez.es/instalar-xcache-en-centos-5-plesk-9-2-10565"> xCache</a> en varios servidores, nos hemos puesto a la tarea de aprender como funciona y <strong>optimizar su configuración para sacarle mayor rendimiento</strong>. Todavía no controlo completamente cada parámetro pero si que tengo algunas pistas de como empezar a tunear el xcache.ini para mejorar su rendimiento:</p>
<p><span id="more-577"></span></p>
<p>1/ <strong>Instalar el administrador para ver el panel por web </strong><br />
Cuando explicaba como instalar el script, al final de todo, comentaba como ver a través de web el panel de administración del xcache. Te recomiento que una vez compruebes que todo está correctamente instalado, crees el panel de forma urgente (luego se te olvidará), porque ahí es donde vamos a poder ver cosas que nos den pistas de como está funcionando xCache.</p>
<p>2/ <strong>Funcionalidades del panel de xcache</strong><br />
Al acceder al panel vas a ver tres cosas:<br />
a/ Statistics: Estadisticas y parámetros de configuración<br />
b/ List PHP: Listado de archivos php cacheados<br />
c/ List Var Data: Creo que se refiere a variables cacheadas, pero ni lo tengo claro, ni lo he activado.</p>
<p>3/ <strong>Parámetros a configurar</strong><br />
Para configurar los parámetros, deja correr el script al menos 5 minutos para que empiece a tomar datos y ver cosas.<strong> </strong></p>
<p style="padding-left: 30px;">a/ <strong>xcache.count</strong><br />
Se refiere al número de partes en als que deseas dividir el cache. Se la relaciona con el número de procesadores que tienes en tu servidor. Lo habitual es colocar nº de procesadores + 1. Puedes ver cuantos tienes en tu servidor o VPS , con el comando:<br />
<code><strong>cat /proc/cpuinfo |grep -c processor<br />
</strong></code></p>
<p style="padding-left: 30px;">b/ <strong>xcache.size</strong><br />
Es uno de los parámetros clave. Fíjate en la columna OOMs (Out of Memory). Todos los valores deberían ser CERO. Si tienes valores muy bajos no deberías preocuparte demasiado, pero vigílalo. Generalmente o van a ser CERO o van a ser muy altos.</p>
<p style="padding-left: 30px;">Si son altos significa que xcache <strong>hace un esfuerzo enorme y la memoria asignada no es suficiente</strong>, asi que casca (Out of memory) . Puedes ir subiendo el parámetro xcache.size .  Yo lo hago en múltiplos de 32M. De entrada puedes ponerle 64M que no pasará nada, pero tampoco debes asignarle demasiada, porque dejarás de ofrecer memoria al servidor para ejecutar otros procesos ajenos a xcache.</p>
<p style="padding-left: 30px;">c/ <strong>xcache.slots</strong><br />
Todavía no tengo claro que es exactamente, pero lo hemos subido de 8k a 16k y hemos notado mejoras. Siempre que lo subas, debes saber que consumirá más memoria, asi que como siempre dependerá de la máquina o VPS que tengas.</p>
<p style="padding-left: 30px;">d/ <strong>xcache.ttl</strong> y <strong>xcache.gc_interval</strong><br />
Me falta hacer pruebas con dos parámetros que también pueden ser importantes, que son xcache.ttl y xcache.gc_interval que se refieren a cada cuantos segundos se refresca el caché o se purga. Si tengo nuevos datos lo publicaré.</p>
<p style="padding-left: 30px;">e/ <strong>parámetros _var</strong><br />
Respecto a los parámetros _var yo de momento no los tocaría. No he visto nada ni nadie que hable de ellos y al activarlo para hacer pruebas hemos perdido prestaciones.</p>
<p>4/ <strong>Más cosas a tener en cuenta</strong><br />
Además de configurar el fichero xcache.ini, debes tener en cuenta que para mejorar todavía más el rendimiento de tus webs, deberías optimizar la confioguración del propio apache  e incluso el del servidor mysql (eso es otra historia) y por supuesto dependerá de la máquina que tengas.</p>
<p>Tienes la doc. oficial de los parámetros en la web oficial:<br />
<a href="http://xcache.lighttpd.net/wiki/XcacheIni" target="_blank">http://xcache.lighttpd.net/wiki/XcacheIni</a></p>
<p>Si haces pruebas y obtienes conclusiones, me encantaría que las pudieras compartir conmigo, lo publicaré y lo compartiré con los demás.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandogomez.es/configurar-y-optimizar-xcache-10577/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Instalar xCache en centOS 5 &#8211; Plesk 9.2</title>
		<link>http://www.fernandogomez.es/instalar-xcache-en-centos-5-plesk-9-2-10565</link>
		<comments>http://www.fernandogomez.es/instalar-xcache-en-centos-5-plesk-9-2-10565#comments</comments>
		<pubDate>Wed, 09 Sep 2009 23:15:41 +0000</pubDate>
		<dc:creator>Fernando Gomez</dc:creator>
				<category><![CDATA[Servidores]]></category>
		<category><![CDATA[Webmasters]]></category>
		<category><![CDATA[centOS]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[xcache]]></category>

		<guid isPermaLink="false">http://www.fernandogomez.es/?p=565</guid>
		<description><![CDATA[Siguiendo el consejo de Jaume Ferre hoy he instalado en varios servidores que corren sobre centOS 5 x86 &#8211; 64 (la típica instalación de un VPS con Plesk 9.2 ). Como me ha costado unas cuantas horas he pensado que escribiendo un post sobre como instalar xCache, ayudaré a otros que se encuentren con el [...]]]></description>
			<content:encoded><![CDATA[<p>Siguiendo el consejo de <a href="http://ferre.es/" target="_blank">Jaume Ferre</a> hoy he instalado en varios servidores que corren sobre centOS 5 x86 &#8211; 64 (la típica instalación de un VPS con Plesk 9.2 ). Como me ha costado unas cuantas horas he pensado que escribiendo un post sobre como instalar <a href="http://xcache.lighttpd.net/">xCache</a>, ayudaré a otros que se encuentren con el mismo problema, como me ha pasado a mi con los post de <a href="http://www.rubenortiz.es/2008/10/02/instalar-xcache-en-centos-5/" target="_blank">Rubén Ortiz</a> y <a href="http://www.vichaunter.com/blog/servidores/instalar-xcache-en-centos-y-rhel-para-php5-solucionado" target="_blank">Vichaunter</a> .</p>
<p><span id="more-565"></span></p>
<p><strong>1. Descargar la última versión estable desde SSH:</strong><br />
En mi caso ha sido la 1.3.0<br />
<code><br />
# cd  /usr/bin/<br />
# wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz<br />
</code></p>
<p><strong>2. Descomprimir</strong><br />
<code><br />
# tar -zxvf xcache-1.3.0.tar.gz<br />
# cd xcache-1.3.0<br />
</code></p>
<p><strong>3. Compilar xcache</strong><br />
<code><br />
# phpize</code><br />
Aqui tuve mis primeros problemas, ya que no tenía instalada la librería necesaria para ejecutar phpize. Si te sucede lo mismo, debes instalar la librería <strong>php-devel</strong> . Yo lo hago desde el PIM del servidor, pero puedes hacerlo con el yum.</p>
<p><code><br />
# ./configure --enable-xcache</code><br />
Al llegar aquí volví a tener problemas para compilar el código en C. Al intentarlo devuelve el error:<br />
<em>configure: error: no acceptable C compiler found in $PATH</em><br />
se soluciona fácilmente instalando la librería <strong>gcc</strong>.</p>
<p><code><br />
# make</code><br />
Otra vez problemas. Me devuelve el error:<br />
<em>/usr/include/php/ext/date/lib/timelib_structs.h:24:28: error: timelib_config.h: No such file or directory</em></p>
<p>Esto si que es mucho más extraño. Solo si te devuelve este error, debes editar el fichero /usr/include/php/ext/date/lib/timelib_structs.h y modificar la linea <code><b>#include &lt;timelib_config.h&gt;</b></code> por <code><b>#include "timelib_config.h" </b></code>. Simplemente cambiando el corchete por comillas.</p>
<p>Yo lo hago con el joe, pero lo puedes hacer con vi o culaquier editor<br />
<code># joe  /usr/include/php/ext/date/lib/timelib_structs.h</code></p>
<p>Continuamos con la compilación<br />
<code># make install</code></p>
<p>Esto lo que va a hacer es generar un fichero xcache.so que por defecto se instala en la ruta:<br />
/usr/lib64/php/modules/xcache.so
</p>
<p><strong>4. Crear xcache.ini</strong><br />
Esta parte se puede hacer de dos formas o bien introduciendo todas las variables en el php.ini o creando el fichero xcache.ini . Yo he preferido hacerlo de la segunda forma.</p>
<p><code># cd /etc/php.d/<br />
# joe xcache.ini<br />
</code></p>
<p>como el fichero no existe, debes pegar lo siguiente:</p>
<p><code><b><br />
[xcache-common]<br />
; change me - 64 bit php => /usr/lib64/php/modules/xcache.so<br />
; 32 bit php => /usr/lib/php/modules/xcache.so<br />
zend_extension = /usr/lib64/php/modules/xcache.so</p>
<p>[xcache.admin]<br />
xcache.admin.auth = On<br />
xcache.admin.user = "admin"<br />
; xcache.admin.pass = md5($your_password)<br />
xcache.admin.pass = ""</p>
<p>[xcache]<br />
xcache.shm_scheme =        "mmap"<br />
xcache.size  =               32M<br />
xcache.count =                 1<br />
xcache.slots =                8K<br />
xcache.ttl   =              3600<br />
xcache.gc_interval =         300</p>
<p>; Same as aboves but for variable cache<br />
; If you don't know for sure that you need this, you probably don't<br />
xcache.var_size  =            0M<br />
xcache.var_count =             1<br />
xcache.var_slots =            8K<br />
xcache.var_ttl   =             0<br />
xcache.var_maxttl   =          0<br />
xcache.var_gc_interval =     300</p>
<p>; N/A for /dev/zero<br />
xcache.readonly_protection = Off</p>
<p>xcache.mmap_path =    "/dev/zero"</p>
<p>xcache.cacher =               On<br />
xcache.stat   =               On<br />
</b></code>
</p>
<p><strong>5. Configurar xcache.ini</strong><br />
xcache te permite acceder a un panel de control a través de web, para ver las estadísticas de cacheo, urls, ratio de compresión de los php, etc. Para ello debemos introducir en xcache.admin.pass = &#8220;&#8221; el password con el que vamos a querer acceder a ese panel.</p>
<p>Ojo, el password <strong>ha de estar encriptado en MD5</strong>, por lo que necesitarás una herramienta online o algo similar que lo codifique. Por ejemplo, el MD5 del password &#8220;hola&#8221; es &#8220;4d186321c1a7f0f354b297e8914ab240&#8243; . Esto último es lo que debes poner en esa variable del xcache.ini</p>
<p>Hay un ajuste más que debes hacer.<br />
<code>cat /proc/cpuinfo |grep -c processor </code><br />
Esto te dice el número de procesadores que tienes en el servidor o VPS y debes colocarlo en la variable <em>xcache.count =</em>  del xcache.ini , en nuestro caso <em>xcache.count = 3</em></p>
<p><strong>6. Reiniciamos Apache </strong><br />
<code># service httpd restart</code></p>
<p><strong>7. Comprobamos que todo ha ido bien</strong><br />
<code># php -v</code></p>
<p>Si todo ha ido bien, debería devolver los parámetros de la actual instalación de PHP y deberías ver la línea  “XCache v1.3.0, Copyright (c) 2005-2007, by mOo”</p>
<p><strong>8. Creamos el panel de control</strong><br />
Copiamos el directorio  /usr/bin/xcache-1.3.0/admin al directorio donde quieras verlo a través de la web. Es decir, si en ese servidor tienes un dominio www.dominio.com y su ruta es /var/www/vhosts/dominio.com/httpdocs/ , deberás crear ahí un directorio admin y copiar el contenido original. De ese modo desde www.dominio.com/admin accderás con el user=&#8221;admin&#8221; y el pass que has colocado en el paso 5.</p>
<p><code># mkdir /var/www/vhosts/dominio.com/httpdocs/admin<br />
# cp -R admin/* /var/www/vhosts/dominio.com/httpdocs/admin/</code></p>
<p>Nosotros en nuestro web del <a href="http://www.europeobasket.com">eurobasket</a>, hemos notado nada más instalarlo una mejoría brutal en la velocidad de acceso. En algunas páginas como las &#8220;<a href="http://www.europeobasket.com/resultados/">resultados eurobasket</a>&#8221; o &#8220;<a href="http://www.europeobasket.com/calendario/">calendario eurobasket</a>&#8221; el cacheo ha sido espectacular ya que han sido unas de las mas vistas. No creo que sea casualidad tampoco que desde hoy hayamos duplicado el tráfico de estos días.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandogomez.es/instalar-xcache-en-centos-5-plesk-9-2-10565/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

