PDF de programación - Introduccion a lightTPD

Imágen de pdf Introduccion a lightTPD

Introduccion a lightTPDgráfica de visualizaciones

Publicado el 28 de Marzo del 2018
675 visualizaciones desde el 28 de Marzo del 2018
346,5 KB
8 paginas
Creado hace 17a (31/08/2006)
ANURIX Servicios Informáticos

Introducción a LightTPD

Introducción a LightTPD

Introducción

Con este documento Anurix pretende acercar a un administrador de sistemas UNIX al servidor web lighttpd como 
una alternativa fiable respecto a otros servidores http.

¿Que es LightTPD?

Lighttpd es un servidor http o https, seguro, rápido que respeta estándares y consume muy pocos recursos, todo ello 
con un código limpio y elegante.

Es ideal para ser usado en entornos donde la carga es máxima, se requieren respuestas rápidas y alta escalabilidad. 
Anurix lo utiliza como único servidor web para contenido dinámico, generalmente sobre estaciones x86 o sparc64 
con sistemas NetBSD.

Algunas características básicas destacables que posee Lighttpd son:

Virtual Hosting incluso por medio de MySQL.
CGI, SCGI, FastCGI.
Soporte de varios lenguajes de programación como PHP o Ruby a través de CGI y FastCGI.
Admite certificados SSL y por lo tanto puede servir https.
Autentificación con htpasswd, LDAP o MySQL.
Tiene un módulo de reescritura y de redirección de URLs.







• Genera estadísticas mediante rrdtool.




Permite Módulos Externos.
Acepta Webdav.
Acepta SSI (Server Side Includes).

Estas son características que cualquier servidor http medianamente decente debería poseer.

Algunas de las opciones que hacen más interesantes a lighttpd desde el  punto de vista de Anurix es la posibilidad 
de elección del Eventhandler, que nos permite optimizar al máximo las respuestas de los sockets de nuestro 
servidor http. También creemos que una buena cualidad frente a otros servidores es la posiblidad del balanceo de 
carga en los servicios FCGI, con los que por ejemplo podemos distribuir las peticiones PHP entre diferentes 
máquinas.

Un FCGI o FastCGI es una alternativa al clásico CGI. La principal diferencia con CGI es que ejecuta un proceso 
persistente por cada programa que se ejecuta en vez de un proceso por cada conexión de un cliente al servidor. 
Lighttpd usa este interfaz para ejecutar aplicaciones escritas en PHP, Ruby o PERL.

www.anurix.com

1

ANURIX Servicios Informáticos

Introducción a LightTPD

 
Lighttpd se puede usar como servidor http único o combinado con otros. Se puede usar para liberar carga de otros 
servidores más lentos ya que, por ejemplo, durante el envío de ficheros grandes suele ser mucho más rápido que en 
el resto de servidores, aunque ésto lo explicaremos más adelante.
Comparado con otros Servidores.

En la web de lighttpd tenemos estadísticas comparando Lighttpd con otros servidores web 
(http://www.lighttpd.net/benchmark/)

En principio lighttpd se muestra  hasta 2 o 3 veces más rápido que Apache y con un consumo de memoria 
muchísimo más bajo que el resto, sobretodo comparándolo con Apache. Ésto se debe en parte  al uso de prefork por 
Apache, que lo hace mucho más lento, sobretodo en situaciones de carga extremas, llevádole a colgarse o a quedar 
inutilizado durante algún tiempo e incluso utilizar recursos del servidor de forma descomunal. Es por ello que, desde 
hace tiempo, desde Anurix aconsejamos siempre LightTTPD a nuestros clientes.

En la mayoría de comparativas podemos ver claramente que donde gana Lighttpd es cuando el número de 
conexiones concurrentes es realmente elevado o cuando se envían ficheros grandes. En estas situaciones no tiene 
rival, ni tan sólo thttpd, un servidor mucho menos complejo, le hace sombra.

Cambiar de Apache a Lighttpd no va a ser la solución definitiva para los problemas de velocidad sirviendo PHP 
combinado con SQL, ya que la mayoria de veces el cuello de botella suele estar en que el código PHP o SQL no son 
totalmente óptimos. Eso si, Lighttpd ayudará sin duda mucho a que una aplicación funcione mucho más rápido sobre 
todo en cargas altas , por eso en Anurix lo recomendamos en este tipo de situaciones frente a Apache u otros 
servidores http.

Configuración básica lighttpd

A continuación se detalla una configuración básica de Lighttpd sobre NetBSD.

#Configuracion Lighttpd  Basica lighttpd.conf 

server.modules              = (
                  "mod_rewrite",
                  "mod_redirect",
                  "mod_alias",
                  "mod_access", 
#                "mod_trigger_b4_dl", <­­ Permite establecer 
acciones al iniciar una descarga
                  "mod_auth",
#                "mod_status", <­­ Muestra el estado del server en 
una web generada
#                "mod_setenv", <­­ Permite setar variables de 
entorno
                  "mod_fastcgi",
#                "mod_proxy",<­­  Modulo de proxy
                  "mod_simple_vhost",
#                 "mod_evhost", <­­ Opciones extendidas de vhost
                   "mod_userdir",
                   "mod_cgi",
                   "mod_compress", 

www.anurix.com

2

ANURIX Servicios Informáticos

Introducción a LightTPD

#                 "mod_ssi", <­ Server side includes
#                 "mod_usertrack",
#                 "mod_expire",
#                 "mod_secdownload", <­­ Permite securizar ficheros 
por medio del servidor y aplicacion
#                 "mod_rrdtool", <­Stats con rrdtool 
                   "mod_accesslog" )

#Crea un nuevo socket que escucha por el puerto 443 con certifiacion 
SSL
$SERVER["socket"] == "xyz.xyz.xyz.xyz:443" {
    ssl.engine      = "enable"
    ssl.pemfile     = "/usr/pkg/etc/lighttpd/server.pem"
    server.name     = "ejemplo.com"
    server.document­root  = "/usr/pkg/share/httpd/htdocs/"
 }

## Documento principal
server.document­root        = "/usr/pkg/share/httpd/htdocs/"

##Log de error
server.errorlog             = "/var/log/lighttpd.error.log"

#Log de acceso 
accesslog.filename          = "/var/log/lighttpd/access.log"

#Archivos que pueden ser indice y en que orden
index­file.names            = ( "index.php", "index.html",
                                "index.htm", "default.htm" )
#Tipos de archivo mime 
mimetype.assign             = (
  ".pdf"          =>      "application/pdf",
  ".sig"          =>      "application/pgp­signature",
  ".spl"          =>      "application/futuresplash",
  ".class"        =>      "application/octet­stream",
  ".ps"           =>      "application/postscript",
  ".torrent"      =>      "application/x­bittorrent",
  ".dvi"          =>      "application/x­dvi",
  ".gz"           =>      "application/x­gzip",
  ".pac"          =>      "application/x­ns­proxy­autoconfig",
  ".swf"          =>      "application/x­shockwave­flash",
  ".tar.gz"       =>      "application/x­tgz",
  ".tgz"          =>      "application/x­tgz",
  ".tar"          =>      "application/x­tar",
  ".zip"          =>      "application/zip",
  ".mp3"          =>      "audio/mpeg",
  ".m3u"          =>      "audio/x­mpegurl",
  ".wma"          =>      "audio/x­ms­wma",
  ".wax"          =>      "audio/x­ms­wax",
  ".ogg"          =>      "application/ogg",
  ".wav"          =>      "audio/x­wav",
  ".gif"          =>      "image/gif",
  ".jpg"          =>      "image/jpeg",
  ".jpeg"         =>      "image/jpeg",

www.anurix.com

3

ANURIX Servicios Informáticos

Introducción a LightTPD

  ".png"          =>      "image/png",
  ".xbm"          =>      "image/x­xbitmap",
  ".xpm"          =>      "image/x­xpixmap",
  ".xwd"          =>      "image/x­xwindowdump",
  ".css"          =>      "text/css",
  ".html"         =>      "text/html encoding=utf­8",
  ".htm"          =>      "text/html encoding=utf­8",
  ".js"           =>      "text/javascript",
  ".asc"          =>      "text/plain",
  ".c"            =>      "text/plain",
  ".cpp"          =>      "text/plain",
  ".log"          =>      "text/plain",
  ".conf"         =>      "text/plain",
  ".text"         =>      "text/plain",
  ".txt"          =>      "text/plain",
  ".dtd"          =>      "text/xml",
  ".xml"          =>      "text/xml",
  ".mpeg"         =>      "video/mpeg",
  ".mpg"          =>      "video/mpeg",
  ".mov"          =>      "video/quicktime",
  ".qt"           =>      "video/quicktime",
  ".avi"          =>      "video/x­msvideo",
  ".asf"          =>      "video/x­ms­asf",
  ".asx"          =>      "video/x­ms­asf",
  ".wmv"          =>      "video/x­ms­wmv",
  ".bz2"          =>      "application/x­bzip",
  ".tbz"          =>      "application/x­bzip­compressed­tar",
  ".tar.bz2"      =>      "application/x­bzip­compressed­tar"
 )

## Deniega tipos de archivo
url.access­deny             = ( "~", ".inc" )

##
# Extensiones de fichero que no seran tomadas como un fichero 
estatico.
#
# Normalmente las manejadas por FCGI o CGI
static­file.exclude­extensions = ( ".php", ".pl", ".fcgi",".cgi" )

## Puerto por defecto
server.port                = 80

## Fichero Error 404
#server.error­handler­404   = "/error­handler.html"
## Crea fichero PID para Lighttpd
#server.pid­file            = "/var/run/lighttpd.pid"

#Directorios de Usuario
userdir.path = "public_html"
userdir.basepath = "/home/"
userdir.exclude­user = ("root")
###### virtual hosts

www.anurix.com

4

ANURIX Servicios Informáticos

Introducción a LightTPD

simple­vhost.server­root   = "/usr/pkg/share/httpd"
simple­vhost.default­host  = "localhost"
simple­vhost.document­root = "/htdocs"

include "vhosts.conf"

## change uid to <uid> (default: don't care)
server.username            = "www"

## change uid to <uid> (default: don't care)
server.groupname           = "www"

#Configuracion Basica para fcgi de PHP
fastcgi.server = ( ".php" =>
                  ( "localhost" =>
                   (
                     "host" => "127.0.0.1",
                     "port" => 1026,
                     "bin­path" => "/usr/pkg/libexec/cgi­bin/php"
                   )
                  )
                 )

#### CGI module
cgi.assign                 = ( ".pl"  => "/usr/pkg/bin/perl",
                               ".cgi" => "/usr/pkg/bin/perl" )

Configuracion Vhosts y htaccess.

### vhost.conf
Vhost simple
$HTTP["host"] == “Ejemplo.com" {
  server.document­root = "/usr/pkg/share/httpd/htdocs"
  server.errorlo
  • Links de descarga
http://lwp-l.com/pdf9942

Comentarios de: Introduccion a lightTPD (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad