Iloo

https://iloo.wordpress.com

Archivos por Etiqueta: MAC

Apache: KeepAlive On

apache_logo

Un caso de estudio

El servidor

  • Centos 6.
  • Apache.
  • PHP 5.6

Los clientes

  • MAC OS.
  • Windows.

El problema:

Se tiene una aplicacion en PHP sin frameworks mas que uno que otro generador, tablas, formularios, etc.

Cuando dos clientes (en la misma red) con SO MAC OS intentan ingresar a la aplicacion, esta responde correctamente al primer cliente pero con el segundo, se bloquea, y se pone tremendamente lenta, no se corta solo que la carga se pone demasiada lenta. Para los clientes Windows funciona correctamente

Despues de hacer varias pruebas en los clientes, desactivando caches, definiendo DNSs, probando con el TTFB, etc. Se intuye que el problema esta en el servidor.

Revisando la configuracion de Apache, se observa que el parametro KeepAlive  (la misma aplicacion corre en varios servidores y todos los servidores tienen la misma configuracion), se encuentra desactivado, se procede a encender la opcion y… funciona, todo solucionado.

KeepAlive Off

Captura de pantalla 2018-02-19 a las 22.31.45.png

KeepAlive On

Captura de pantalla 2018-02-19 a las 22.33.41.png

 

Anuncios

heroku: desplegar aplicaciones

heroku es un hosting para aplicaciones hechas en Ruby on Rails, un hosting bastante interesante y con un monton de add-ons para agregar mayor funcionalidad a las aplicaciones, más información en heroku.com/how.

Como dice el título, este es un breve resumen para poder desplegar aplicaciones en este hosting:

Tiendo en cuenta las siguientes consideraciones:

  • Versión de rails: 3.2.3
  • Base de datos: postgres
  • Control de versiones: git

Suponiendo que la aplicación ya esta en git.

Registrarse en heroku

Es necesario registrar en el sitio de heroku, se tienen varios planes, para probar se puede usar una cuenta gratuita la cual cuenta con todas las características mínimas necesarias para poder desplegar las aplicaciones.

http://api.heroku.com/signup

Instalar Toolbelt

También es necesario instalar heroku Toobelt, la aplicación para poder manejar heroku desde consola. Las plataformas disponibles son Windows, Mac OS y Debian/Ubuntu. Para Arch se tiene el paquete ruby-heroku.

http://toolbelt.heroku.com/

Loguearse en heroku

Se hace mediante consola:

heroku login

Ahí es necesario ingresar el nombre de usuario con el que se registro en heroku y la contraseña, si no tienes una clave pública el mismo programa te sugerirá crear una, lee bien todos los mensajes.

Crear un repositorio remoto de heroku

Suponiendo que ya se tiene git configurado y funcionando, dentro del directorio de la aplicación es necesario crear el repositorio, recuerdo que todo se hace mediante la consola:

heroku create --stack cedar

Aclaro que es muy importante leer todos los mensajes que devuelve la aplicación por consola.

Para poder ver los repositorios disponibles:

git remote -v

Crear la base de datos de postgres

Se realiza de manera sencilla, en consola:

heroku addons:add heroku-postgresql:dev --app herokuApp

Donde:

  • heroku-postgresql:dev, es el plan registrado, si el plan fuera otro se puede cambiar dev por ejemplo por ronin.
  • herokuApp, es el nombre de la aplicación creada en el paso anterior, se pueden ver las aplicaciones disponibles ingresando a la cuenta creada en heroku e ingresando a la sección MyApps.

Desplegar la aplicación

Hasta aquí la aplicación esta casi lista solo falta agregar los archivos a heroku:

git push heroku master

Ahora solo queda esperar que los archivos se suban a la cuenta de heroku, instalar las gemas y desplegar la aplicación, heroku lo hace todo.

Tal vez sea necesario crear la base de datos, nuevamente recuerdo leer los mensajes en consola

heroku run rake db:migrate

Errores comunes

DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins!

Si este aparece puede suceder dos cosas:

1. Si el directorio vendor/plugins de la aplicación esta vacía entonces no es necesario hacer nada.

2. Si no, leer estos dos artículos:

heroku error: “Permission denied” (public key)

Es necesario agregar la clave pública del equipo a heroku:

heroku keys:add ~/.ssh/id_rsa.pub

Running `rake db:migrate attached` to terminal… up, run.1

/Users/user/.heroku/client/lib/heroku/client/reendezvous.rb:87:in `fixup’: undefined method

Bien, este error se presento en Mac, el archivo en cuestión es reendezvous.rb y en la función mencionada se tiene:

def fixup(data)
  data.force_encoding('utf-8')
  output.isatty ? data : data.gsub(/\cM/,"")
end

Se tiene que comentar la línea que causa el error, quedando de la siguiente manera:

def fixup(data)
  #data.force_encoding('utf-8')
  output.isatty ? data : data.gsub(/\cM/,"")
end

Tips útiles

1. Logs de heroku, muy útil para descubrir errores:

heroku logs --app herokuApp

2. Ver las aplicaciones corriendo en heroku:

heroku ps

3. Reiniciar aplicaciones en heroku:

Una vez visto las aplicaciones con el comando anterior:

heroku restart web.#

Donde # es el número de la aplicación.

4. Ver todos los comandos disponibles:

heroku help

5. Actualizar el repositorio heroku

git add .
git commit -m 'message to update'
git push heroku

Más información en:

http://devcenter.heroku.com/

Arch: desplazamiento a lo Mac

Sucede lo siguiente…

Tengo una portátil HP Pavilion dv9535 que siempre se encuentra en mi escritorio y una MacBook, esta la uso uso cuando tengo que salir de mi hogar.

Sucede que la HP tiene conectadas varias cosas, entre ellas un mouse, y justo ahora tuve que desconectarla por un motivo que no es necesario explicarlo.

Como estoy bastante acostumbrado a la manera de realizar el desplazamiento en la MacBook, inconscientemente hice lo mismo en la HP que tiene instalado Arch y la sorpresa, responde igual.

Esto funciona usando dos dedos en cualquier lugar del touchpad y moviendo ambos dedos hacia la dirección que deseamos desplazar la vista del documento.

Arch: compartir directorios con Samba

Después de un tiempo por fin logré compartir directorios (y archivos) con Samba en Arch, el detalle principal esta en el archivo /etc/samba/smb.conf, la manera de hacerlo sería la siguiente (solo para invitados o usuarios anónimos):

Antes que todo instalar el paquete de Samba… obvio:

pacman -S samba

Luego agregar al usuario al grupo de samba:

pdbedit -a -u tu_usuario

Ahora es necesario modificar el archivo de configuración, primero hacemos una copia:

cp /etc/samba/smb.conf.default /etc/samba/smb.conf

Finalmente editarlo, puede ser con nano:

nano /etc/samba/smb.conf

La manera que yo lo tengo configurado:

[global]
 workgroup = WORKGROUP
 security = share
 ;  guest account = nobody
[homes]
 comment = Home Directories
 browseable = no
 ;writable = yes
 read only = yes
[public]
 comment = Public Stuff
 path = /home/user/Public
 public = yes
 writable = yes
 printable = no
 ; write list = @staff

La captura en Arch:

Y en Mac:

Más información aquí.

UMPlayer: reproductor multimedia

Siempre me gusta probar nuevas y en este caso debido al funcionamiento de VLC en Ubuntu 11.04, es decir que no funciona correctamente y en vez de buscar una solución al error… en realidad al buscar una solución me encontré con UMPlayer… que al final llego a ser una solución (cambiar un programa por otro).

UMPlayer actualmente en la versión 0.95 es un front-end basado en SMPlayer que usa MPlayer (o.O)

Entre las características que pude observar en el breve tiempo que lo voy usando (10 min):

  • Rápido al iniciar, con una interfaz agradable (en parte debido a los skins).
  • Posibilidad de ver y buscar vídeos de YouTube en el mismo reproductor. La búsqueda y reproducción de  SHOUTcast también esta incluido.
  • Soporte para una gran cantidad de archivos tanto de audio como de vídeo, entre ellos AC, AC3, ASF, AVI, DIVX, FLV, H.263, Matroska, MOV, MP3, MP4, MPEG, OGG, QT, RealMedia, VOB, Vorbis, WAV, WMA, WMV, XVID, más información: www.umplayer.com/features/.
  • Completamente personalizable con muchos detalles interesantes.
  • Multiplataforma (Windows, MAC OS X, Debian/Ubuntu y RPM para Red Hat y derivados como Fedora).
  • En general vale la pena probarlo.
UMPlayer en acción:
Para descargar el programa y ver más características en: www.umplayer.com