Posts tagged Linux
IP2Country in 4 simple steps
Jan 31st
If you need to detect from which country your visitors are connecting to your website follow these 4 steps:
1) wget http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip
2) unzip ip-to-country.csv.zip
3) chmod 777 ip-to-country.csv
4) MySQL:
- CREATE DATABASE ip2country;
-
CREATE TABLE `ip2country` ( `ipFrom` int(15) NOT NULL default ‘0′, `ipTo` int(15) NOT NULL default ‘0′, `country2` char(2) NOT NULL default ”, `country3` char(3) NOT NULL default ”, `country` varchar(25) NOT NULL default ”);
-
load data infile ‘/home/downloads/ip-to-country.csv’ into table ip2country fields terminated by ‘,’ enclosed by ‘”‘ lines terminated by ‘\n’;
To test if everything is working create a PHP file with the following code:
<?
$ip = $_SERVER['REMOTE_ADDR'];
$dbh = mysql_connect(“localhost”, “username”, “Password”) or die(“Could not connect: ” . mysql_error());
mysql_select_db(“ip2country”);
$country_query = “SELECT country2, country FROM ip2country WHERE ipFrom<=INET_ATON(‘” . $ip . “‘) AND ipTo>=INET_ATON(‘” . $ip . “‘)”;
$country_exec = mysql_query($country_query);
$ccode_array = mysql_fetch_array($country_exec);
mysql_close($dbh);
$country_code = $ccode_array['country2'];
$country_name = $ccode_array['country'];
echo “Country: $country_name ($country_code)”;
?>
Follow me on Twitter
Balanceo de servidores mediante software
Oct 7th
Click here to translate this post
Si vuestro presupuesto no os permite gastaros miles de € en una solución de balanceo de servidores mediante hardware, podéis estar tranquilos ya que existen numerosas aplicaciones gratuitas que ofrecen el mismo resultado.
A un nivel muy sencillo tenemos Perlbal (http://www.danga.com/perlbal). Se trata de una sencilla aplicación escrita en Perl para el balanceo de servidores HTTP. Se puede n agregar y eliminar servidores sin la necesidad de parar el servicio. Perbal permite monitorizar el servicio mediante su aplicación de consola.
En un nivel intermedio tenemos Pound (http://www.apsis.ch/pound), también gratuita. Pound balancea las peticiones entre los servidores disponibles, detecta sercidores fallidos y permite conexiones “Sticky”. Es una aplicación bastante completa, pero falla al no ofrecer un sistema de monitorización. En ningún momento se puede ver cuantas conexiones dispone cada servidores, cuales de esos servidores están en línea, etc.
Linux Virtual Server (http://www.linuxvirtualserver.org) es el paquete de software de balanceo de servidores más completo que existe. Require mucho más tiempo para configurarlo, pero una vez montado funciona de maravilla. Si el servidor tiene una versión de kernel inferior a la 2.6 LVS require que el kernel sea parcheado. Si la versión del kernel es =>2.6 entonces LVS viene incorporado en el propio kernel. LVS permite redireccionar el tráfico mediante NAT o IP tunneling. NAT mueve el tráfico desde el servidor balanceador al servidor final y devuelve el contenido de respuesta de vuelta al cliente pasando por el servidor balanceador. IP tunneling mueve el tráfico del servidor balanceador al servidor final, pero a diferencia de NAT, la respuesta es enviada directamente al cliente sin necesidad de pasar por el servidor balanceador. LVS ofrece una gran cantidad de estadísticas sobre el servicio.
En el siguiente tutorial mostraré paso a paso, como configurar un servidor de balanceo (Director) con 2 servidores finales (Real Servers).
Follow me on Twitter