<?xml version="1.0" encoding="ISO-8859-1"?>
<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>Donde estan mis llaves? &#187; RedHat</title>
	<atom:link href="http://www.cike.ws/category/redhat/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cike.ws</link>
	<description>Blog dedicado a la seguridad informática, linux y otras extravagancias</description>
	<lastBuildDate>Wed, 11 Aug 2010 21:52:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Nginx y Plesk</title>
		<link>http://www.cike.ws/2010/08/11/nginx-y-plesk/</link>
		<comments>http://www.cike.ws/2010/08/11/nginx-y-plesk/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 06:49:15 +0000</pubDate>
		<dc:creator>cike</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Optimizaciones]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[Servicios]]></category>

		<guid isPermaLink="false">http://www.cike.ws/?p=45</guid>
		<description><![CDATA[Desde hace bastante tiempo sé de lo complicado que puede ser un servidor Plesk, sobre todo si tienes sitios de alto volumen. Algunos de los artículos de este sitio tratan sobre la optimización de servidores web. Ya conocia el proyecto Nginx y lo habia utilizado parcialmente tal como esta señalado en post previo usando redirecciones [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace bastante tiempo sé de lo complicado que puede ser un servidor Plesk, sobre todo si tienes sitios de alto volumen.</p>
<p>Algunos de los artículos de este sitio tratan sobre la optimización de servidores web.</p>
<p>Ya conocia el proyecto Nginx y lo habia utilizado parcialmente tal como esta señalado en post previo usando redirecciones con .httaccess</p>
<p>Encontré hace un par de dias la solución perfecta para hacer convivir el Apache en Plesk y el Nginx sacando provecho de lo mejor de ambos.</p>
<p>Sigue leyendo y descubrirás como integrar perfectamente el Nginx con tu Plesk</p>
<p><span id="more-45"></span></p>
<p>La primer parte es instalar el Nginx. Puedes hacerlo de la manera tradicional bajando la fuente e instalandolo a mano.</p>
<p>para este ejemplo usaremos el rpositorio de rpms de ART</p>
<p>En mi caso uso RHEL pero ART tambien hace rpms para Fedora y Centos.</p>
<p>La manera más fácil de instalar el repositorio de ART en tu servidor plesk con Fedora/Centos/RHEL es usando el comando:</p>
<p><code> wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh </code></p>
<p>una vez instalado el repositorio instalar Nginx es tan sencillo como</p>
<p><code> yum install nginx </code></p>
<p>La ventaja de hacerlo de esta manera es que el rpm te ayuda con la instalación correcta y activacion como servicio.</p>
<p>una vez instalado  descarguen este <a href="http://www.grafxsoftware.com/download/nginx/nginx_setup.zip" target="_blank">archivo ZIP</a> y descomprímanlo en la carpeta /etc/nginx/ sobreescribiendo los archivos que asi lo soliciten.</p>
<p>una ves descomprimido el contenido de ese zip ejecuten el siguiente comando:</p>
<p><code> sh /etc/nginx/&lt;code&gt;generate_nginx_conf.sh</code></p>
<p>lo cual leerá la configuracion del apache modificada por el Plesk y generará los scripts correspondientes de nginx para cada dominios existente en el servidor. ( En el caso de un plesk normal en un servidor dedicado con varios ips no fue necesaria modificación alguna de los templates que vienen en el zip ).</p>
<p>Ahora de momento nos enfocaremos en los cambios necesarios del Apache. La idea es que el Nginx se quede escuchando en el puerto 80 y el apache en algun otro puerto&#8230;. digamos el 8080&#8230;</p>
<p>El Nginx servira contenido estático y todo el contenido dinámico lo pasará al apache liberando a este ultimo del servicio de imágenes y anexos para lo cual es mas eficiente el Nginx.</p>
<p>Como cambiar el Apache de plesk de puerto y no morir en el intento:<br />
<code>/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><br />
Fimalmente les recomiendo que configuren el Nginx para que arranque al inicio del equipo con el comando:</p>
<p>chkconfig &#8211;level 345 nginx on</p>
<p>Y listo!!!! Nginx esta funcionando ahora en el puerto 80 y el apache esta feliz ahora en el puerto 8080 y todo funciona de maravilla.</p>
<p>La implementacion del Nginx puede ayudarte a usar al maximo los recursos de tu servidor, ya que nginx usa significativamente mucha menos menoria ram que los procesos comunes de apache y por lo tanto te da la oportunidad de entregar mas paginas/contenido utilizando el mismo hardware.</p>
<p>Este proceso de sustitucion es altamente recomendado si tu sitio tiene constantes y continuas cargas altas debidas a trafico Web.</p>
<p><strong>Nota</strong>: El puerto 8080 es usado regularmente por una parte el Tomcat, si no usas Tomcat en ese servidor, simplemente desactivalo para que no tengas problema alguno con el Apache.</p>
<p><code> chkconfig --level 345 tomcat5 off</code></p>
<p>service tomcat5 stop</p>
<p>Revisa tambien que el servicio de Tomcat no este monitoreado por el módulo de Watchdog, de ser así desactívalo en el módulo para que el Watchdog no lo arranque de nuevo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cike.ws/2010/08/11/nginx-y-plesk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimizando apache al máximo</title>
		<link>http://www.cike.ws/2006/06/03/optimizando-apache-al-maximo/</link>
		<comments>http://www.cike.ws/2006/06/03/optimizando-apache-al-maximo/#comments</comments>
		<pubDate>Sun, 04 Jun 2006 05:41:32 +0000</pubDate>
		<dc:creator>cike</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Optimizaciones]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[Servicios]]></category>

		<guid isPermaLink="false">http://www.cike.ws/archives/24</guid>
		<description><![CDATA[Hace poco tuve que enfrentarme con un servidor de un amigo que tenia varios sitios muy populares&#8230; mucho swapping, altos iowaits y se bloqueaba de manera aleatoria. El server es un Celeron 1.7 con 512 MB RAM y cada uno de los sitios andan por el orden de varios de miles de hits al dia. [...]]]></description>
			<content:encoded><![CDATA[<p>Hace poco tuve que enfrentarme con un servidor de un amigo que tenia varios sitios muy populares&#8230; mucho swapping, altos iowaits y se bloqueaba de manera aleatoria.</p>
<p><span id="more-24"></span></p>
<p>El server es un Celeron 1.7 con 512 MB RAM y cada uno de los sitios andan por el orden de  varios de miles de hits al dia.</p>
<p>Despues de experimentar varios dias con estos problemas encontré una mezcla de soluciones que me permitio que el server no se caiga y mantenga el paso con las peticiones de clientes&#8230;</p>
<ul>
<li>Instala <a href="http://www.eaccelerator.net" target="_blank">eaccelerator</a> para reducir la carga al compilar las paginas php. UPDATE Jul 2009 ( Ahora uso <a href="http://xcache.lighttpd.net/" target="_blank">Xcache </a>en lugar de Eaccelerator)</li>
<li>Desactiva el logging en el apache: si tienes trafico alto los logs pueden causarte pesadillas por el uso de disco. Al desactivarlo permites que se entreguen archivos mas rapidamente.</li>
<li>Descargué e instale <a href="http://www.litespeedtech.com/" target="_blank">Litespeed Webserver</a> ( yo usé la version Standard, libre pero solo llega hasta 300 clientes concurrentes.. si son necesarios más&#8230; tendrias que comprar la version enterprise y ya no te costea $500 USD )  y lo configuré para correr en un puerto alto (8080) importando las configuraciones de virtual hosting del apache.</li>
<li>Usé una regla de  redirección para que todo el contenido estatico ( imagenes, videos y swf ) sean redireccionados al servidor recien instalado en el puerto alto (8080)</li>
</ul>
<p>Esto puede ser configurado directamente en el httpd.conf o un  .htaccess en el directorio publico. ( Yo normalmente lo pongo en un .httaccess en la carpeta donde esta mi sitio mas usado )<br />
<code>RewriteEngine on<br />
RewriteRule .*\.(gif|GIF|jpg|JPG|png|PNG|swf|SWF|pdf|PDF)$ http://%{HTTP_HOST}:8080%{REQUEST_URI}</code></p>
<p>(Son dos lineas )</p>
<ul>
<li>Activa las opcionesde  compresion en /etc/php.ini</li>
</ul>
<p>output_buffering = On<br />
output_handler = ob_gzhandler</p>
<ul>
<li>Como ya no estoy enviando contenido estático con el apache, desactivo las opciones de Keepalive, ajusto MaxRequestsPerChild a un valor alto, MinSpareServers 10 MaxSpareServers 20  y StartServers a un valor inicial medio ( yo usé 80 )</li>
</ul>
<p>El webserver en el puerto alto hace parte de la magia, corre practicamente sin demasiada memoria ( 20MB en horas pico pero solo en un proceso ) y sirve hasta 300 usuarios concurrentes con un gasto minimo de CPU ( mucho menos del 1% ), Apache aun sigue enviando contenido dinámico, usando esta combinación Apache aún usa de 10 a 20 MB  de RAM por proceso pero el tiempo que un cliente utiliza el Apache es menor que en una configuración tradicional, esto reduce la concurrencia de clientes en el Apache.<br />
Los cambios en KeepAlive permiten que el apache termine una peticion y atienda la siguiente sin esperar peticiones extra del cliente. ( las cuales son atendidas por el otro servidor ) bajando asi el numero de clientes concurrentes usando Apache</p>
<p>Estos ajustes redujeron dramaticamente la carga de el servidor<br />
Ahora el server tiene un promedio de carga muy diferente&#8230;<br />
load average: 0.68, 0.56, 0.59<br />
manejando unos  140 procesos de apache ( muchos más en hora pico cerca de los 250 ) y aun tiene la mitad del procesador libre..<br />
El load común antes de estos cambios era de más de 9<br />
.</p>
<p align="left">10:10pm  up 36 days, 12:19,  1 user,  load average: 0.68, 0.56, 0.59<br />
203 processes: 193 sleeping, 10 running, 0 zombie, 0 stopped<br />
CPU states: 15.9% user, 14.4% system, 11.1% nice, 58.3% idle<br />
Mem:   506024K av,  468176K used,   37848K free,       0K shrd,   25916K buff<br />
Swap: 1020116K av,   49596K used,  970520K free                  195640K cached</p>
<p align="center">
<p align="left">.       .  . .total         used         free     shared    buffers     cached<br />
Mem:           494  455         38                0                                             23                                   181<br />
-/+ buffers/cache:                                    250                  243<br />
Swap:          996           48        947</p>
<p>Adicionalmente una optimización del servidor mysql seria lo indicado&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cike.ws/2006/06/03/optimizando-apache-al-maximo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
