Aller au contenu

Optimiser Apache2


julien51

Sujets conseillés

Bonjour à tous,

Je viens de mettre à jour mon serveur Apache pour Apache2...

Le problème, c'est que j'ai l'impression que les reglages ne sont pas top, parce que mon servuer semble refuser des connexion : voici la config:

# Based upon the NCSA server configuration files originally by Rob McCool.
# Changed extensively for the Debian package by Daniel Stone <daniel_AT_sfarc.net>
# and also by Thom May <thom_AT_debian.org>.

# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE! If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation
# (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>);
# you will save yourself a lot of trouble.

ServerRoot "/etc/apache2"

# The LockFile directive sets the path to the lockfile used when Apache
# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
# its default value. The main reason for changing it is if the logs
# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
# DISK. The PID of the main server process is automatically appended to
# the filename.

LockFile /var/lock/apache2/accept.lock

# PidFile: The file in which the server should record its process
# identification number when it starts.

PidFile /var/run/apache2.pid

# Timeout: The number of seconds before receives and sends time out.

Timeout 300

# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.

KeepAlive On

# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.

MaxKeepAliveRequests 100

# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.

KeepAliveTimeout 15

##
## Server-Pool Size Regulation (MPM specific)
##

# prefork MPM
# StartServers ......... number of server processes to start
# MinSpareServers ...... minimum number of server processes which are kept spare
# MaxSpareServers ...... maximum number of server processes which are kept spare
# MaxClients ........... maximum number of server processes allowed to start
# MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule prefork.c>
MaxClients 20
</IfModule>

# pthread MPM
# StartServers ......... initial number of server processes to start
# MaxClients ........... maximum number of server processes allowed to start
# MinSpareThreads ...... minimum number of worker threads which are kept spare
# MaxSpareThreads ...... maximum number of worker threads which are kept spare
# ThreadsPerChild ...... constant number of worker threads in each server process
# MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

# perchild MPM
# NumServers ........... constant number of server processes
# StartThreads ......... initial number of worker threads in each server process
# MinSpareThreads ...... minimum number of worker threads which are kept spare
# MaxSpareThreads ...... maximum number of worker threads which are kept spare
# MaxThreadsPerChild ... maximum number of worker threads in each server process
# MaxRequestsPerChild .. maximum number of connections per server process (then it dies)
<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
AcceptMutex fcntl
</IfModule>

User www-data
Group www-data

# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent


# Allow PATH_TRANSLATED
AcceptPathInfo On

# Global error log.
ErrorLog /var/log/apache2/error.log

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

# Include all the user configurations:
Include /etc/apache2/httpd.conf

# Include ports listing
Include /etc/apache2/ports.conf

# Include generic snippets of statements
Include /etc/apache2/conf.d/[^.#]*

#Let's have some Icons, shall we?
Alias /icons/ "/usr/share/apache2/icons/"
<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

# Set up the default error docs.
#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 [url="http://www.example.com/subscription_info.html"]http://www.example.com/subscription_info.html[/url]
#

#
# Putting this all together, we can Internationalize error responses.
#
# We use Alias to redirect any /error/HTTP_<error>.html.var response to
# our collection of by-error message multi-language collections. We use
# includes to substitute the appropriate text.
#
# You can modify the messages' appearance without changing any of the
# default HTTP_<error>.html.var files by adding the line;
#
# Alias /error/include/ "/your/include/path/"
#
# which allows you to create your own set of files by starting with the
# /usr/local/apache2/error/include/ files and
# copying them to /your/include/path/, even on a per-VirtualHost basis.
#

<IfModule mod_negotiation.c>
<IfModule mod_include.c>
Alias /error/ "/usr/share/apache2/error/"

<Directory "/usr/share/apache2/error">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
</Directory>

ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
ErrorDocument 410 /error/HTTP_GONE.html.var
ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

</IfModule>
</IfModule>

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml

# UserDir is now a module
#UserDir public_html
#UserDir disabled root

#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#</Directory>

AccessFileName .htaccess

<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>

UseCanonicalName Off

TypesConfig /etc/mime.types
DefaultType text/plain

HostnameLookups Off

IndexOptions FancyIndexing VersionSort

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

# This really should be .jpg.

AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^


# This is from Matty J's patch. Anyone want to make the icons?
#AddIcon /icons/dirsymlink.jpg ^^SYMDIR^^
#AddIcon /icons/symlink.jpg ^^SYMLINK^^

DefaultIcon /icons/unknown.gif

ReadmeName README.html
HeaderName HEADER.html

IndexIgnore .??* *~ *# HEADER* RCS CVS *,t

AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .et
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage it .it
AddLanguage ja .ja
AddLanguage pl .po
AddLanguage ko .ko
AddLanguage pt .pt
AddLanguage no .no
AddLanguage pt-br .pt-br
AddLanguage ltz .ltz
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .se
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw

LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw


#AddDefaultCharset ISO-8859-1

AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
# For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8

AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis

#AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddHandler application/x-httpd-php .php


AddType application/x-tar .tgz

# To use CGI scripts outside /cgi-bin/:
#
#AddHandler cgi-script .cgi

# To use server-parsed HTML files
#
<FilesMatch "\.shtml(\..+)?$">
SetOutputFilter INCLUDES
</FilesMatch>

# If you wish to use server-parsed imagemap files, use
#
#AddHandler imap-file map

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

#
# The following directive disables redirects on non-GET requests for
# a directory that does not include the trailing slash. This fixes a
# problem with Microsoft WebFolders which does not appropriately handle
# redirects for folders with DAV methods.
#

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully

# Allow server status reports, with the URL of [url="http://servername/server-status"]http://servername/server-status[/url]
# Change the ".your_domain.com" to match your domain to enable.
#
#<Location /server-status>
# SetHandler server-status
# Order deny,allow
# Deny from all
# Allow from .your_domain.com
#</Location>

# Allow remote server configuration reports, with the URL of
# [url="http://servername/server-info"]http://servername/server-info[/url] (requires that mod_info.c be loaded).
# Change the ".your_domain.com" to match your domain to enable.
#
#<Location /server-info>
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from .your_domain.com
#</Location>

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/[^.#]*

C'est un Pentium 2, 3 Ghz avec 1Go de RAM... donc plutot véloce comme machine a priori, et mon site recoit en moyennne 10 000 visiteurs par jours...

Voici le "top", alors que je n'arrive pas à me connecter en httpd!


1 root Jul06 init [2]
2 root Jul06 [keventd]
3 root Jul06 [ksoftirqd_CPU0]
4 root Jul06 [ksoftirqd_CPU1]
5 root Jul06 [kswapd]
6 root Jul06 [bdflush]
7 root Jul06 [kupdated]
8 root Jul06 [xfsbufd]
9 root Jul06 [xfslogd/0]
10 root Jul06 [xfslogd/1]
11 root Jul06 [xfsdatad/0]
12 root Jul06 [xfsdatad/1]
16 root Jul06 [i2oevtd]
17 root Jul06 [mdrecoveryd]
18 root Jul06 [kjournald]
150 root Jul06 [kjournald]
151 root Jul06 [kjournald]
152 root Jul06 [kjournald]
424 root Jul06 /sbin/syslogd
427 root Jul06 /sbin/klogd
435 bind Jul06 /usr/sbin/named -u bind
436 bind Jul06 /usr/sbin/named -u bind
437 bind Jul06 /usr/sbin/named -u bind
438 bind Jul06 /usr/sbin/named -u bind
439 bind Jul06 /usr/sbin/named -u bind
440 bind Jul06 /usr/sbin/named -u bind
450 root Jul06 /usr/sbin/spamd --create-prefs --max-children 5 --helper-home-dir -d --pidfile=/ ...
8342 root 00:22 spamd child
8355 root 00:22 spamd child
8433 root 00:22 spamd child
8524 root 00:22 spamd child
8539 root 00:22 spamd child
654 root Jul06 /usr/sbin/inetd
819 root Jul06 /usr/sbin/smartd --pidfile /var/run/smartd.pid
831 root Jul06 /usr/sbin/sshd
914 root Jul06 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
24467 root 14:02 /usr/share/webmin-1.290/proc/index_tree.cgi
5201 root Jul06 /usr/sbin/ntpd -p /var/run/ntpd.pid
5206 daemon Jul06 /usr/sbin/atd
5210 root Jul06 /usr/sbin/cron
5224 root Jul06 rsync --daemon
5226 root Jul06 /sbin/getty 38400 tty1
5227 root Jul06 /sbin/getty 38400 tty2
5228 root Jul06 /sbin/getty 38400 tty3
5229 root Jul06 /sbin/getty 38400 tty4
5230 root Jul06 /sbin/getty 38400 tty5
5232 root Jul06 /sbin/getty 38400 tty6
5617 clamav Jul09 /usr/sbin/clamd
15718 clamav 07:51 /usr/sbin/clamd
8458 root 12:43 /usr/sbin/apache2 -k start
8000 www-data 13:10 /usr/sbin/apache2 -k start
8007 www-data 13:10 /usr/sbin/apache2 -k start
8008 www-data 13:10 /usr/sbin/apache2 -k start
8065 www-data 13:11 /usr/sbin/apache2 -k start
8075 www-data 13:11 /usr/sbin/apache2 -k start
8459 www-data 12:43 /usr/sbin/apache2 -k start
8460 www-data 12:43 /usr/sbin/apache2 -k start
8462 www-data 12:43 /usr/sbin/apache2 -k start
8463 www-data 12:43 /usr/sbin/apache2 -k start
8479 www-data 12:43 /usr/sbin/apache2 -k start
8495 www-data 12:43 /usr/sbin/apache2 -k start
8520 www-data 12:43 /usr/sbin/apache2 -k start
8522 www-data 12:43 /usr/sbin/apache2 -k start
8546 www-data 12:43 /usr/sbin/apache2 -k start
8547 www-data 12:43 /usr/sbin/apache2 -k start
8548 www-data 12:43 /usr/sbin/apache2 -k start
8557 www-data 12:43 /usr/sbin/apache2 -k start
19912 www-data 13:00 /usr/sbin/apache2 -k start
25727 www-data 13:04 /usr/sbin/apache2 -k start
25808 www-data 13:04 /usr/sbin/apache2 -k start
11273 root Jul08 sendmail: MTA: accepting connections
24125 root 13:58 sendmail: MTA: ./k6A0J0W8011122 mail.numericable.com.: user open
13299 root Jul09 /bin/sh /usr/bin/mysqld_safe
13360 mysql Jul09 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql-data --user=mysql --pid-fi ...
13362 mysql Jul09 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql-data --user=mysql --pid-fi ...
13363 mysql Jul09 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql-data --user=mysql --pid-fi ...
13364 mysql Jul09 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql-data --user=mysql --pid-fi ...
13365 mysql Jul09 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql-data --user=mysql --pid-fi ...
13366 mysql Jul09 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql-data --user=mysql --pid-fi ...
13368 mysql Jul09 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql-data --user=mysql --pid-fi ...
13369 mysql Jul09 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql-data --user=mysql --pid-fi ...
13370 mysql Jul09 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql-data --user=mysql --pid-fi ...
13371 mysql Jul09 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql-data --user=mysql --pid-fi ...
13361 root Jul09 logger -p daemon.err -t mysqld_safe -i -t mysqld

Pouvez-vous me dire si quelque chose cloche?

Merci pour votre aide!

Ju

Modifié par julien51
Lien vers le commentaire
Partager sur d’autres sites

Plutôt que le "top", tu aurais du t'intéresser aux logs Apache, et principalement au log d'erreurs.

Tu apprendrais certainement quelque chose avec lui.

Est ce que ta config est bonne ? Les virtual hosts définis ?

Apache écoute bien sur le port 80 ?

Dan

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...