Reinicio automático de Apache (httpd) en WHM

Muchos de los que tenemos un servidor VPS (en micaso en Hostgator con centOS instalado + Apache + Mysql), utilizamos WHM para realizar las tareas más comunes del servidor. Una de los problemas que he tenido en mi VPS, es que de vez en cuando Apache se caía y no reiniciaba automáticamente.

WHM nos proporciona una manera sencilla para que el servicio httpd (Daemon de servidor web Apache. Maneja las solicitudes de HTTP de visitantes) se reinicie (auto reboot – auto start) después de haber tenido algún problema en el servidor.

En WHM nos tenemos que dirigir a Main >> Service Configuration >> Service Manager

WHM Service manager

En esta pantalla “Service Manager” nos encontraremos con una lista de daemons que se pueden ejecutar en el servidor. Esta característica nos permite seleccionar que daemons queremos activar y cuáles de entre los daemons activados queremos monitorizar con la pantalla de Status del servidor.

Si queremos que funcione el daemon hay que hacer click en “enabled”. Si queremos que WHM monitorice el estado del daemon (en este caso httpd, pero funciona igual con mysqld o cualquier otro) tenemos que hacer click en “Monitor”. En Service Manager – Administrador de servicio, encontrareis una explicación del servicio y un “quien es quien” entre los daemons del sistema.

Es importante, que una vez que hayamos seleccionado las opciones que nos interesan, le demos al boton “save” que se encuentra al final de la página.

Una vez activado el sistema, cada vez que el servidor Apache se cuelgue, este servicio lo intentara reiniciar automáticamente y os lo notificara por e-mail. El proceso de monitoreo (chkservd o TailWatch en las nuevas versiones de cpanel) se lleva a cabo cada 15 minutos.

Publicado en Internet, Programas utiles | Etiquetado , , , | 1 comentario

Vídeo: Como optimizar y tunear MySQL para mejorar su rendimiento

Intentando aprender como optimizar mi base de datos MySQL en mi recién estrenado VPS en Hostgator, me he encontrado este instructivo vídeo realizado por la gente de cpanel en el que nos muestran las bases para afinar el rendimiento de MySQL así como que herramientas de control y seguimiento podemos utilizar para mejorar y optimizar MySQL.

Lo más destacado en el vídeo es: la comprensión de las variables más importante que se utilizan para ajustar la configuración de MySQL, y las pruebas de referencia con diferentes arquitecturas.

Básicamente, lo que nos quieren hacer comprender es que muchas veces nos es necesario incrementar la CPU o la RAM de nuestro servidor (yo tengo 768MB de RAM), sino que hay que dedicarle un par de días a optimizar y tunear los parametros de my.cnf hasta ajustarlos a los valores óptimos que hagan reducir la carga de nuestro nuestro servidor.

Tambien os podeis desrcargar la presentación en PDF

Publicado en Internet, Tecnología | Etiquetado , , | 1 comentario

Jersey Shore – El reality de moda en la MTV

Lo confieso. Me he enganchado al reality “Jersey shore. Lo retransmite la cadena MTV y el argumento es bien sencillo: Sigue el día a día de ocho italoamericanos que pasan el verano viviendo juntos… primero en la costa de Nueva Jersey y luego en Miami Beach y Florencia.

Jersey Shore MTV

La primera vez que lo vi pensé “¿Que hacen todo estos tíos cachas en la tele junto a esas tías siliconadas?”

Y luego me paso como al resto del mundo. Harto de malas noticias en el telediario, prefería ver las burradas que hacen unos y otros y los continuos pitidos ‘camuflando’ las miles de palabrotas que se dicen…

¿Quienes son los protagonistas de Jersey shore? Pues por temporadas son estos (que ya van cinco):

  • Paul DelVecchio (temporadas 1-5): Para mí, uno de los más normales. Es un famoso DJ.
  • Nicole Polizzi (Snooki) (temporadas 1-5): Menudas cagadas hace esta mujer…
  • Michael Sorrentino (The Situation) (temporadas 1-5): El mejor apodo de todos…
  • Sammi Giancola (Sweetheart) (temporadas 1-5): Liada con Ronnie de manera intermitente
  • Ronnie Ortiz-Magro (temporadas 1-5): Liada con Sammi y con medio mundo más
  • Jennifer Farley (JWoww) (temporadas 1-5): ¿Cómo se pronuncia?
  • Vinny Guadagnino (temporadas 1-4): El más normal… sin duda…
  • Deena Cortese (temporadas 3–5): Todavía no la he visto en ningún capitulo
  • Angelina Pivarnick (temporadas 1-2): Que cera la dan a la pobre…

La serie se ha transformado en uno de los mayores éxitos de MTV en Estados Unidos y en todo el mundo.

Publicado en Series TV | Etiquetado | 1 comentario

Apache Benchmarking (ab): Funcionamiento y carga de nuestro servidor

Apache tiene una herramienta muy útil, Apache Benchmarking (ab), que nos va a servir para conocer un poco mejor como funciona nuestro servidor (o cualquier otro: en el ejemplo lo he probado con google.com) y que nos va a indicar parámetros tan interesantes como el nivel de carga que puede soportar, el numero de usuarios concurrentes (Concurrency Level), el tiempo de respuesta, etc…

La localización de Apache Benchmarking (ab) en Servidores con CentOS es:

/usr/local/apache/bin/ab

Y el comando para ejecutar ab es el siguiente (una vez situados en su directorio):

./ab -n 100 -c 5 http://google.com/

donde estamos indicando que haga el test con 100 con­exiones (-n), limitandolo a 5 conexiones concurrentes (-c) en google.com. Es importante que no se os olvide terminar el comando con /

Este es el resultado que obtenemos al ejecutar Apache Benchmarking (ab):

[/usr/local/apache/bin]# ./ab -n 100 -c 5 http://google.com/
This is ApacheBench, Version 2.3
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking google.com (be patient)…..done

Server Software: gws
Server Hostname: google.com
Server Port: 80

Document Path: /
Document Length: 219 bytes

Concurrency Level: 5
Time taken for tests: 1.601 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Non-2xx responses: 100
Total transferred: 54000 bytes
HTML transferred: 21900 bytes
Requests per second: 62.46 [#/sec] (mean)
Time per request: 80.046 [ms] (mean)
Time per request: 16.009 [ms] (mean, across all concurrent requests)
Transfer rate: 32.94 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 38 39 0.4 38 39
Processing: 40 41 0.8 41 47
Waiting: 40 41 0.8 41 47
Total: 78 80 1.0 80 85
ERROR: The median and mean for the initial connection time are more than twice the standard
deviation apart. These results are NOT reliable.

Percentage of the requests served within a certain time (ms)
50% 80
66% 80
75% 80
80% 80
90% 81
95% 81
98% 82
99% 85
100% 85 (longest request)

Podéis encontrar más referencias en: Howto: Performance Benchmarks a Webserver

Publicado en Programas utiles, Tecnología | Etiquetado , | 1 comentario

Bar Refaeli – Agua Bendita bikinis 2012

Esta galería contiene 6 fotos.

La modelo Bar Refaeli para la campaña de bikinis 2012 de Agua Bendita.

Más galerías | 1 comentario

Optimiza y tunea my.cnf (Mysql) en tu servidor VPS

Imaginemos la situación. Acabas de mudar todas tus webs de un servidor compartido (Shared server) a un Servidor Virtual dedicado (VPS) y te encuentras que tienes que optimizar un monton de cosas, entre ellas tu base de datos Mysql que usabas en tus blogs de WordPress, en Drupal, Joomla o Moodle. ¿Por donde empezamos?

  1. ¿Cuanta RAM tenemos en nuestro servidor? Factor clave y determinante para la optimización de nuestra base de datos Mysql
  2. ¿Qué es lo que tengo que optimizar en Mysql? Principalmente el archivo my.cnf que encontraremos en /etc/mysql/my.cnf o /etc/my.cnf despendiendo del Sistema operativo.
  3. ¿Como lo edito? A través de terminal mediante una conexión ssh al servidor y gracias al editor de unix ‘vi’
  4. ¿Que cantidad de memoria RAM puede consumir Mysql? En función de los parametros que configuremos en my.cnf. Podemos hacernos una idea con esta calculadora de memoria RAM para Mysql
  5. Leemos esta biblia de optimización de MySQL, para comprender el significado de cada parametro.

Antes de empezar a hacer ningun cambio, sería mejor culturizarnos un poco. Normalmente, en nuestro servidor, podemos encontrar ejemplos de archivos my.cnf en función de la RAM que tengamos disponible:

/usr/share/doc/mysql-server-5.1/

my-small.cnf: para sistemas con 64MB de RAM (Como!!!)

my-medium.cnf: para sistemas con 256MB de RAM

my-large.cnf: para sistemas con 512MB de RAM

my-huge.cnf: para sistemas con 1-2GB de RAM

Para empezar no esta mal y nos podemos hacer una idea de cuales son los parametros más importantes a ajustar.

Comprobamos el uso que nuestro VPS hace de la memoria con los siguientes comandos en el terminal: top, ps aux y free -m

Nos familiarizamos con el aspecto que tiene un archivo my.cnf

[mysqld]
safe-show-database
open_files_limit = 5000
tmp_table_size = 95M

max_heap_table_size = 95M

query_cache_limit=2M

query_cache_size=55M ## 64MB for every 1GB of RAM

query_cache_type=1

max_connections=100

collation_server=utf8_unicode_ci

character_set_server=utf8

delayed_insert_timeout=40

interactive_timeout=10

wait_timeout=30

connect_timeout=20

thread_cache_size=64

key_buffer=16M ## 32MB for every 1GB of RAM

key_buffer_size=40M

join_buffer=1M

max_connect_errors=20

max_allowed_packet=8M

table_cache=2048

table_definition_cache=2048

record_buffer=1M

sort_buffer_size=1M ## 1MB for every 1GB of RAM

read_buffer_size=1M ## 1MB for every 1GB of RAM

read_rnd_buffer_size=1M ## 1MB for every 1GB of RAM

thread_concurrency=2 ## Number of CPUs x 2

myisam_sort_buffer_size=16M

innodb_file_per_table=1

innodb_buffer_pool_size=35M

Y la verdad es que nos es facil optimizarlo… ¿Cuales son las variables más importantes?

max_connections
wait_timeout
thread_cache_size
table_cache
key_buffer_size
query_cache_size
tmp_table_size

¿Donde encontramos más ayuda para tunear Mysql? Afortunadamente hay varios programas que nos pueden ayudar a optimizar el archivo my.cnf de Mysql (lo mejor es usar los tres y comparar resultados):

MySQLTuner, Tuning Primer y mysqlreport

Nos descargamos estos programas en nuestra carpeta /usr/local/sbin/, les damos los permisos para que se puedan ejecutar (entrando en el servidor como root) y nos preparamos para el despliegue de datos.

¡Suerte a todos! Tened en cuenta que hay que ejecutar estos programas entre 24 y 48 horas despues de haber hecho los primeros cambios en my.cnf. Dejamos pasar ese tiempo, los volvemos a ejecutar y volvemos a optimizar la bbdd editando my.cnf. ¡OJO! Después de editar el archivo hay que reiniciar Mysql a través del terminal o del panel WHM o similar, sino, los cambios en el archivo no se verán reflejados.

Publicado en Blogs, Internet, Tecnología, Wordpress | Etiquetado , , , | 1 comentario

Error en tu WordPress: “Fatal error: Class ‘Memcache’ not found…” y php.ini

He cambiado de servidor de un Shared Hosting a un VPS y como en todos los cambios, siempre pasa algo. Uno de los problemas que me he encontrado (uno de muchos) es que después de instalar Memcached para reducir la carga del servidor, mis instalaciones de WordPress no funcionaban correctamente y me mostraban un error como este:

“Fatal error: Class ‘Memcache’ not found…”

Y yo había comprobado que tanto memcached como la “PHP PECL memcache extension” estaban instalas y funcionando correctamente en el servidor (con el comando “ps aux | grep memcached”)… ¿Qué pasaba? Si por algo he elegido Hostgator como compañía de Hosting es por su excelente servicio al cliente y sus rápidas respuestas cuando tienes un problema. Después de unos cuanto tickets, lo que sucedia es que aunque en la php.ini del servidor estaba claramente especificada la extensión para que todo fuera OK (extension = “memcache.so”), los dominios no estaban utilizando ese php.ini.

¿Solución al problema? (en todos los casos sustituimos username por nuestro nombre de usuario en cpanel)

  1. Crear un archivo php.ini para cada dominio en el servidor en /home/username/
  2. Añadir las siguientes lineas en los archivos .htaccess de cada dominio situados en /home/username/public_html/.htacces, donde vamos a decirle donde se encuentra nuestro archivo php.ini con nuestra linea de código (extension = “memcache.so”) configurada para que funcione Memcached.

<IfModule mod_suphp.c>
suPHP_ConfigPath /home/username
<Files php.ini>
order allow,deny
deny from all
</Files>
</IfModule>

Y me podeis decir… “Esto esta muy bien, pero… ¿Que hacemos para que WordPress aproveche la potencia de Memcached?” Hay varias opciones en forma de plugin, una es muy conocida: Usar W3 Total Cache. En mi caso uso Wp Super Cache como plugin para cachear mis paginas, y según el soporte, tambien hace uso de Memcached (pero no de manera tan intensiva como el otro), así que instale WP Memcached Manager (para chequear que Memcached estaba funcionando)  y Memcached Object Cache (el plugin que hace a WordPress utilizar a fondo esta característica - ¡Ojo! NO se instala en el directorio de plugins de WordPress, sino en wp-content).

Publicado en Blogs, Wordpress | Etiquetado , | 1 comentario

¿Esta mi Mac infectado con el troyano Flashback?

Las noticias se están haciendo eco de una masiva infección de ordenadores Mac en todo el mundo provocada por un troyano llamado Flashback.

Según los informes el troyano Flashback ha afectado a unos 600.000 equipos Mac en todo el mundo. El troyano, que ha recibido el nombre de BackDoor.Flashback.39, nos hace la puñeta robandonos información a través del navegador y además nos usa como botnet gracias a una vulnerabilidad de Java 1.6.0_29 que afecta a equipos con Mac OS X (Apple ya ha publicado el parche en support.apple.com/downloads/, o simplemente haz click en Actualización de Software en el Menu Apple de tu Mac para que aparezca la actualización).

¿Como nos ha podido infectar?

Gracias a que se enmascaraba en un falso instalador de Flash Player…

Lo importante: ¿Esta mi Mac infectado con el troyano Flashback?

Sencillo. Abres una ventana de linea de Comandos en Terminal y escribes lo siguiente:

defaults read /Applications/Safari.app/Contents/Info LSEnvironment

Deberías de obtener el siguiente mensaje:

The domain/default pair of (/Applications/Safari.app/Contents/Info, LSEnvironment) does not exist

Vuelves a escribir lo siguiente:

defaults read ~/.MacOSX/environment DYLD_INSERT_LIBRARIES

Deberías de obtener el siguiente mensaje:

The domain/default pair of (/Users/vivek/.MacOSX/environment, DYLD_INSERT_LIBRARIES) does not exist

Si obtienes el mensaje “does not exist” las dos veces, eso significa que tu Mac no esta infectado por el Troyano FlashBack. Este es un ejemplo de mi sesión:

Ejemplo de Mac no afectado por el troyano Flashback

Las instrucciones que acabo de escribir las puedes encontrar en la web de F-Secure, donde además te explican como eliminar el troyano si tu Mac esta infectado.

Vía: NixCraft

Publicado en Apple | Etiquetado , , | 1 comentario

Bar Refaeli en ropa interior: Under.me

La supermodelo Bar Refaeli acaba de lanzar su propia linea de ropa interior under.me, y que mejor manera de hacerlo que presentandose ella misma  con el producto. Tenemos fotos…

Bar Refaeli en ropa interior: under me

Y un estupendo vídeo en el que vemos a Bar Refaeli jugando al tenis en ropa interior. Seguro que no va a parar de vender…

Publicado en sexy | Etiquetado | 1 comentario

Bar Refaeli y Rafael Nadal para Sports Illustrated 2012

Siempre me han gustado las fotos de Sports Illustrated, sobre todo si la protagonista es la supermodelo Bar Refaeli… En esta ocasion protagoniza la campaña con Rafael Nadal. Espectacular.

Bar-refaeli-Rafael-Nadal-SI-2012-1

Bar-refaeli-Rafael-Nadal-SI-2012-2

Podéis ver todas las fotos en Sports Illustrated

Publicado en sexy | Etiquetado , | 1 comentario