Nodejs + Nginx

Hola, he creado el típico hola mundo en nodejs

Ejecuto la aplicación de node.js

devscgm@ubuntu:~/EjemplosNode/holaMundoNodejs$ node index.js
listening on *:3000

Abro un navegador y escribo http://ipMaquina:3000 y me muestra el “HOLA MUNDO” que he creado.

Ahora quiero que dado un dominio, por ejemplo www.prueba.com redireccione a mi aplicación en node que esta escuchando en el puerto 3000.

Para ello nos modificamos el fichero de nginx

sudo nano /etc/nginx/sites-available/default

Nos vamos al final del fichero y escribimos lo siguiente:

server {
    listen 80;
 
    server_name prueba.com;
 
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Fijaros en el server_name y en proxy_pass

Guardamos y reiniciamos el servidor nginx

sudo service nginx restart

Si tenemos bien configurado nuestro servidor DNS para que apunte el dominio www.prueba.com a la maquina donde tenemos instalado nginx y la aplicación en node.js veremos que en el navegador vemos nuestro “HOLA MUNDO” sin ver el puerto donde realmente esta ejecutándose la aplicación de node.js.

Publicado en servidor | Etiquetado , | Deja un comentario

Configurar dominio en Nginx

Hola, a continuación voy a explicar cómo instalar el servidor Nginx y configurarlo para cualquier dominio. Este tutorial puede aplicarse para instalar tantos dominios o subdominios como se deseen y que cada uno apunte a una carpeta distinta.

  • Lo primero es tener instalado el servidor Nginx
sudo apt-get update
sudo apt-get install nginx

Una vez Instalado podemos comprobar que funciona abriendo un navegador web y metiendo la ip de la maquina. Nos saldrá una página de bienvenida por defecto que vienen en Nginx.

  • Ahora creamos una carpeta en donde ubicaremos nuestro proyecto web (la carpeta la podemos crear en donde queramos, yo pongo un ejemplo)
    sudo mkdir -p /var/www/dominio.com/public_html
    

Dándole permisos, al ser aplicación web le damos los permisos a www-data:

sudo chown -R www-data:www-data /var/www/dominio.com/public_html
  • Añadimos dentro de la carpeta creada (en mi ejemplo es /var/www/dominio.com/public_html) un index.html con un HOLA MUNDO de tu dominio para comprobar al final del tutorial que funciona la redirección a la carpeta de tu proyecto web.
  • Creamos el Host Virtual en Nginx
    A continuación vamos a decirle a Nginx que va a tener un nuevo host virtual que gestionar, es decir, que cuando el usuario introduzca en el navegador dominio.com, el servidor tendrá que leer el archivo de configuración que crearemos para saber qué hacer. En Nginx hay dos rutas importantes. La primera de ellas es sites-available, que contiene los archivos de configuración de los hosts virtuales disponibles en el servidor. La otra es sites-enabled, que contiene los archivos de configuración de los sitios habilitados, es decir, los que funcionan en ese momento. Vamos a crear un archivo para dominio.com:
sudo nano /etc/nginx/sites-available/dominio.com

Introducimos el siguiente código

server {
## Escucha en el puerto 80 (HTTP)
listen 80; 

## Raíz donde se encuentra la página Web
root /var/www/dominio.com/public_html;

## Orden de prioridad de los archivos index
index index.html index.htm;

server_name dominio.com;
}
  • A pesar de haber creado este archivo, todavía no podemos acceder a nuestra página Web, ya que la configuración está en sites-available, pero no en sites-enabled. Para habilitar el host virtual crearemos un enlace simbólico entre ambas carpetas:
    $ sudo ln -s /etc/nginx/sites-available/dominio.com /etc/nginx/sites-enabled/dominio.com
    
  • Reiniciamos Ngninx
    sudo service nginx restart
    

fuente.

 

 

Publicado en servidor | Etiquetado | Deja un comentario

Instalar GlassFish 4.1.1 en ubuntu con JAVA8

Vamos a instalar en una maquina con ubuntu server el servidor de aplicaciones GlassFish 4.1.1.

Antes de instalar el servidor de glassFish vamos a actualizar la versión del JDK que hay actualmente en el servidor.

Para ver la versión que tenemos instalada simplemente escribimos en el terminal  “java – version”

java -version
java version "1.6.0_35"
OpenJDK Runtime Environment (IcedTea6 1.13.7) (6b35-1.13.7-1ubuntu0.12.04.2)
OpenJDK Server VM (build 23.25-b01, mixed mode)
root@ns390713:~#

En mi caso tengo la versión instalada 1.6 y quiero instalar la version 1.8

Añadimos el repositorio de JAVA 8

sudo add-apt-repository ppa:webupd8team/java

Al ejecutar este comando a mi me sale el siguiente error:

root@ns390713:~# sudo add-apt-repository ppa:webupd8team/java
sudo: add-apt-repository: command not found

Para solucionarlo simplemente instalamos lo siguiente:

sudo apt-get install python-software-properties

Una vez instalado volvemos a intentar añadir el repositorio y seguro que ahora os funcionará.

Actualizamos e instalamos

sudo apt-get update
sudo apt-get install oracle-java8-installer

Una vez instalado comprobamos la versión instalada:

 

$java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) Server VM (build 25.66-b17, mixed mode)
root@ns390713:~#

Por último quedaría configurar la variables de entorno para poner por defecto JAVA 8.

sudo apt-get install oracle-java8-set-default

Vamos a modificar el $JAVA_HOME  para que apunte al nuevo JDK

modificamos el fichero “nano .bashrc”

cambiando la linea:
export JAVA_HOME=/usr/lib/jvm/default-java

por la linea:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

Guardamos, reiniciamos la maquina y comprobamos:

echo $JAVA_HOME

Una vez instalado JAVA 8 vamos a proceder a descargar e instalar GlassFish.

Puedes ir a la página oficial de GlassFish para descargarte la última versión, en mi caso mi ultima versión es la 4.1.1.

Me descargo la ultima versión y la descroprimimos en la carpeta /opt

Nota: Posiblemente no tengas el unzip instalado para instalar el unzip si lo tienes instalado no hace falta que ejecutes la primera línea.

apt-get install unzip
wget http://download.java.net/glassfish/4.1.1/release/glassfish-4.1.1.zip
unzip glassfish-4.1.1.zip -d /opt

Configuraciones adicionales:

Vamos a meter en el profile el PATH de GlassFish.

para ello modificamos el fichero  profile

$ nano ~/.profile

Añadiendo a la ultima linea el export del PATH de GlassFish

# ~/.profile: executed by Bourne-compatible login shells.

if [ "$BASH" ]; then
  if [ -f ~/.bashrc ]; then
    . ~/.bashrc
  fi
fi

mesg n
export PATH=/opt/glassfish4/bin:$PATH

Para arrancar el servidor GlassFish:

 asadmin start-domain

comprobamos accediendo con un navegador a la siguiente direccion:

http://IP_SERVIDOR:4848/

Habilitamos y configuramos usuario de administración

Lo primero que tenemos que hacer es poner una contraseña al usuario admin. Ejecuta:

asadmin change-admin-password

Mete el usuario “admin” cuando te pida la contraseña de admin dejalo en blanco y pulsa enter

ahora metes tu nueva contraseña y vuelves a meter tu nueva contraseña.

Una vez cambiado la contraseña del usuario admin lo habilitamos con el siguiente comando:

asadmin enable-secure-admin

metes el usuario admin y la contraseña que has escrito anteriormente.

Tendrás que reiniciar el GlassFish para que los valores surgan efecto.

asadmin stop-domain
asadmin start-domain

 

Publicado en JAVA | Deja un comentario

Eclipse con Python y Django

En este tutorial vamos a instalar un plugin para eclipse para poder trabajar mucho mas rápido ya que eclipse nos ayudará a la hora de importar clases que se necesitan cuando desarrollamos.

Sigue leyendo

Publicado en Django, Python | Etiquetado , , | Deja un comentario

Instalación Django en Windows

En este tutorial vamos a realizar la instalación del framework Django en Windows.

Django es un framework de desarrollo web de código abierto que facilita la creación de páginas web complejas.

Sigue leyendo

Publicado en Django, Python | Etiquetado | Deja un comentario

Instalar python en Windows

En este tutorial vamos a aprender a instalar python en Windows. El tutorial de instalación de python en Windows no tiene ninguna dificultad y veremos una vez finalizado la instalación si hemos instalado correctamente python en nuestro equipo

Sigue leyendo

Publicado en Django, Python | Etiquetado , | Deja un comentario

configurar chrome para que no consuma memoria ram

Buenas, hoy arrancando el ordenador me he dado cuenta que sin ni siquiera abrir chrome este consumo bastante memoria ram.

Sigue leyendo

Publicado en Programas | Deja un comentario

método calcular letra dni en java

Método para calcular el dni de una persona (nif) en java

public static final String STRING_DE_ASOCIACION_NIF = "TRWAGMYFPDXBNJZSQVHLCKE";
/**
 * Calcula el NIF (DNI + letra) para un número de identificación dado
 * 
 * @param numerosDni - Chorro de 8 números de un dni
 * @return
 */
public static String calcularNif(String numerosDni) {
	int numeros = Integer.valueOf(numerosDni);
	return String.valueOf(numerosDni) + STRING_DE_ASOCIACION_NIF.charAt(numeros % 23);
}
Publicado en JAVA | Deja un comentario

Calcular edad de una persona en java

Método para calcular la edad de una persona. Espero que os sirva.

public static String getEdad(Date fechaNacimiento) {
		if (fechaNacimiento != null) {
			SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
			StringBuilder result = new StringBuilder();
			if (fechaNacimiento != null) {
				result.append(sdf.format(fechaNacimiento));
				result.append(" (");
				Calendar c = new GregorianCalendar();
				c.setTime(fechaNacimiento);
				result.append(calcularEdad(c));
				result.append(" años)");
			}
			return result.toString();
		}
		return "";
	}
	
private static int calcularEdad(Calendar fechaNac) {
		Calendar today = Calendar.getInstance();
		int diffYear = today.get(Calendar.YEAR) - fechaNac.get(Calendar.YEAR);
		int diffMonth = today.get(Calendar.MONTH) - fechaNac.get(Calendar.MONTH);
		int diffDay = today.get(Calendar.DAY_OF_MONTH) - fechaNac.get(Calendar.DAY_OF_MONTH);
		// Si está en ese año pero todavía no los ha cumplido
		if (diffMonth < 0 || (diffMonth == 0 && diffDay < 0)) {
			diffYear = diffYear - 1; // no aparecían los dos guiones del
										// postincremento 😐
		}
		return diffYear;
}

 

Publicado en JAVA | 1 comentario

centrar div con css

En esta ocasión vamos a centrar un div usando la propiedad margin

En el ejemplo que os dejo mas abajo vamos a tener tres div, los dos primerios div estarán uno al lado del otro a la misma altura y el tercer div queremos que este debajo y a la vez que este centrado en la pantalla. Para en la clase “centrado” colocamos la propiedad margin : auto para centrarlo.

 

Os dejo el ejemplo para centrar un div con css.

 

<html>
<head>
	<title>Centrar Div </title>
<style type="text/css">

  .columna1{
  	background-color: grey;
  	width: 50%;
  	float: left;
  }
  .columna2{
  	background-color: yellow;
  	width: 50%;
  	float: left;
  }

  .centrado{
  	width: 50%;
  	margin: 0 auto;
  	background-color: orange;
  }
  
</style>
</head>
<body>
<div class="columna1">Div1</div>
<div class="columna2">Div2</div>
<div class="centrado">Div3</div>

</body>
</html>

 

Publicado en CSS | Deja un comentario