[Article] Configurer lighttpd (lighty) avec php5

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


Ron56
WRInaute passionné
WRInaute passionné
 
Messages: 706
Inscription: Dim Nov 20, 2005 20:05

[Article] Configurer lighttpd (lighty) avec php5

Message le Mer Jan 16, 2008 18:10

Bonjour,

Je vais essayer de vous présenter ici comment on peut, pour des raisons de performances, remplacer apache par lighty et bien sur en continuant d'utiliser php5 et mysql :P

Mon serveur est libre en ce moment si yen a qui ont des tests a proposé pour comparer a apache ...

Alors au niveau de l'installation sous debian j'ai utilisé les paquets : lighttpd et php5-cgi

Maintenant au niveau de la configuration ...

Personnellement j'ai tout mes sites dans le dossier /var/www

Je prend un exemple pour le sous-domaine : forum.domaine.fr

Avec la configuration de lighty que je vous propose vous avez juste a creer le dossier : /var/www/domaine.fr/forum/

Ça évite de retoucher la configuration et ça évite d'avoir une longue liste de vhosts

La mise en place se résume à l'édition du fichier /etc/lighttpd/lighttpd.conf

Voici le mien commenté ;)

# Debian lighttpd configuration file
# 16-01-2008
#http://www.ronux.fr
#fontenay.ronan [ A T ] gmail.com

#Les différents mods
#mod_fastcgi > pour php5-cgi
#mod_evasive > Permet de renvoyer une erreur 403 en cas frequence de requetes trop élevées
#mod_evasive > Permet d'avoir une page de stat sur le serveur lighttpd
#mod_redirect> Permet de faire des redirections/re-écriture d'url

server.modules = (
"mod_access",
"mod_alias",
"mod_fastcgi",
"mod_evasive",
"mod_accesslog",
"mod_status",
"mod_evhost",
"mod_redirect",
# "mod_compress",
# "mod_rewrite",
# "mod_usertrack",
# "mod_rrdtool",
# "mod_webdav",
# "mod_expire",
# "mod_flv_streaming",
# "mod_secdownload",
)

#repertoire contenant les dossiers des sites webs
server.document-root = "/var/www/"

#emplacement du log des erreurs
server.errorlog = "/var/log/lighttpd/error.log"

#page d'accueil d'un repertoire
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm" )

#linux-sendfile pour servir des petits fichiers et writev pour servir des fichiers plus gros
server.network-backend = "writev"

#nombre de connexions max par ip (mod_evasive)
evasive.max-conns-per-ip = 5

#statut du server web (mod_status)
status.status-url = "/server-status"
status.config-url = "/server-config"

#### Debut des VirtualHosts ####


#Virtual host classique et basique ..
$HTTP["host"] == "213.251.*.*" {
server.document-root = "/var/www/parking/"
}

#Virtual host dynamique basique
# %% => % sign
# %0 => domain name + tld
# %1 => tld
# %2 => domain name without tld
# %3 => subdomain 1 name
# %4 => subdomain 2 name
evhost.path-pattern = "/var/www/%0/%3/"


#exemple de redirection possible
#else $HTTP["host"] =~ "^([^.]+\.[^.]+)$" {
# url.redirect = (
# ".*" => "http://www.%1"
# )
#}

#### Fin des VirtualHosts ####


#Lighty sera configuré avec php5
server.stat-cache-engine = "simple"
server.max-fds = 2048
fastcgi.server = ( ".php" =>
(( "socket" => "/tmp/php.socket",
"bin-path" => "/usr/bin/php5-cgi",
"min-procs" => 1,
"max-procs" => 64,
"max-load-per-proc" => 4,
"idle-timeout" => 20
))
)

#### Module pour compresser (ici pas activé)
#compress.cache-dir = "/var/tmp/lighttpd/cache/compress/"
#compress.filetype = ("text/plain", "text/html")


# log d'acces au serveur
accesslog.filename = "/var/log/lighttpd/access.log"

# Extensions auquelles l'acces est interdit
url.access-deny = ( "~", ".inc" )

## Pages d'erreur perso
#server.error-handler-404 = "/error-handler.html"
#server.error-handler-404 = "/error-handler.php"

######### Options moins indispensables #######

## port d'écoute du serveur
server.port = 80

## bind to localhost only (default: all interfaces)
#server.bind = "localhost"

## to help the rc.scripts
server.pid-file = "/var/run/lighttpd.pid"

##
## Format: <errorfile-prefix><status>.html
##
#server.errorfile-prefix = "/var/www/"

## Listage des repertoires
dir-listing.encoding = "utf-8"
server.dir-listing = "enable"

## send unhandled HTTP-header headers to error-log
#debug.dump-unknown-headers = "enable"

### only root can use these options
#
# chroot() to directory (default: no chroot() )
#server.chroot = "/"

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

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

#### Module de rewrite ou de redirection
# url.rewrite = ( "^/$" => "/server-status" )
# url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )

#### expire module
# expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")

#### rrdtool
# rrdtool.binary = "/usr/bin/rrdtool"
# rrdtool.db-name = "/var/www/lighttpd.rrd"

## this is a hack
alias.url = ("___invalid___" => "___invalid___")

#### handle Debian Policy Manual, Section 11.5. urls
#### and by default allow them only from localhost

$HTTP["host"] == "localhost" {
alias.url += (
"/doc/" => "/usr/share/doc/",
"/images/" => "/usr/share/images/"
)
dir-listing.activate = "enable"
}

#### fichier de configuration externe
## mimetype mapping
include_shell "/usr/share/lighttpd/create-mime.assign.pl"

## load enabled configuration files,
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"


dorian53
WRInaute accro
WRInaute accro
 
Messages: 1897
Inscription: Dim Avr 10, 2005 16:56

Re: [Article] Configurer lighttpd (lighty) avec php5

Message le Jeu Jan 17, 2008 9:38

Ron56 a écrit:Bonjour,

Je vais essayer de vous présenter ici comment on peut, pour des raisons de performances, remplacer apache par lighty et bien sur en continuant d'utiliser php5 et mysql :P


Salut,

Justement, niveau performance quelles sont les différences ?


http://www.markround.com/archives/30-Li ... marks.html


link182
WRInaute impliqué
WRInaute impliqué
 
Messages: 473
Inscription: Mar Juil 26, 2005 13:30

Message le Ven Jan 18, 2008 13:43

Pourrais-tu comparer comme dans l'article (http://www.markround.com/archives/30-Li ... marks.html) tes propres performances entre apache et lighty avec ab ?

merci :)


Ron56
WRInaute passionné
WRInaute passionné
 
Messages: 706
Inscription: Dim Nov 20, 2005 20:05

Message le Ven Jan 18, 2008 17:27

Dès que j'ai le temps je m'occupe de ca , le mieux serait de trouver quelqu'un qui est un kimsufi pour qu'on puisse déja mesurer le temps d'execution de X requetes php, et voir la ram utilisée ...

pas forcement le temps d'installer et config apache sur mon kim'

Ron :P


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités