Apache Tips And Tricks

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    5 Favorites

    Apache Tips And Tricks - Presentation Transcript

    1. Apache Tips & Tricks Fabio Wakim Trentini
    2. Agenda Apache? MPMs Módulos Proxy Reverso URL Rewriting Segurança Performance
    3. Apache? A PAtCHy server Suporta uma grande variedade de plataformas Flexibilidade Segurança
    4. Apache? Desde março/1996 é o servidor mais usado na internet Em junho/2009 tem 47,12% de market share IIS tem 24,80% Fonte: netcraft.com
    5. MPMs Multi Processing Modules prefork (1.3) worker (2.0) event (2.2)
    6. ThreadsPerChild worker thread parent httpd child httpd worker (root) (nobody) thread worker thread Worker MPM
    7. ThreadsPerChild MinSpareThreads worker thread parent httpd child httpd worker (root) (nobody) thread worker thread worker thread child httpd worker (nobody) thread worker thread worker thread child httpd worker (nobody) thread worker thread MaxSpareThreads Worker MPM
    8. ThreadsPerChild MinSpareThreads worker thread parent httpd child httpd worker (root) (nobody) thread worker thread worker thread child httpd worker (nobody) thread worker thread worker thread child httpd worker (nobody) thread worker thread MaxSpareThreads MaxClients ServerLimit Worker MPM
    9. ThreadsPerChild MinSpareThreads worker thread parent httpd child httpd worker (root) (nobody) thread worker thread worker thread child httpd worker (nobody) thread worker thread worker thread child httpd worker (nobody) thread worker thread MaxSpareThreads MaxClients ServerLimit ListenBacklog Worker MPM
    10. Módulos core 73 módulos 171 módulos pra apache 2.X em http:// modules.apache.org
    11. mod_alias Redirect /images http://img.domain.com/product RedirectMatch permanent ^/$ http://home.domain.com/
    12. mod_authz_host <Location /staging> Order deny,allow Deny from all Allow from 172.22.0.0/255.255.0.0 Allow from 127.0.0.1 </Location>
    13. mod_authz_host SetEnvIf Referer ^http://.*domain.com referer-ok SetEnvIf Remote_Addr 127.0.0.1 local <Location /staging> Order deny,allow Deny from all Allow from env=referer-ok env=local </Location>
    14. mod_cache mod_disk_cache htcacheclean mod_mem_cache MCacheRemovalAlgorithm mod_libmemcached-cache (new!)
    15. mod_dumpio DumpIOLevel debug DumpIOInput On DumpIOOutput On
    16. mod_headers RequestHeader unset Cookie Header set Server %{SERVER_SOFTWARE}e SetEnvIfNoCase Referer (google.com|bing.com) search_engine=$1 Header set Set-Cookie “SE=${search_engine}e; path=/; domain=%{HTTP_HOST}e” env=search_engine
    17. mod_log_config %a Remote Address %t Horário do recebimento do request %D Tempo gasto para responder, em microssegundos %{Foo}C Conteúdo do cookie “Foo” no request %{Foo}e Conteúdo da variável “Foo” %{Foo}i Conteúdo do header “Foo” no request %{Foo}o Conteúdo do header “Foo” na resposta %X Status da resposta
    18. mod_setenvif BrowserMatchNoCase iphone mobile SetEnvIf Request_URI .gif image
    19. mod_setenvif Remote_Host Remote_Addr Server_Addr Request_Method Request_Protocol Request_URI
    20. mod_setenvif allow from env=private CustomLog logs/accesslog combined env=!image Header set X-foo 1 env=bar
    21. <Location /> E </Location> <Files f.html> D </Files> <VirtualHost *> <Directory /a/b> B </Directory> </VirtualHost> <DirectoryMatch "^.*b$"> C </DirectoryMatch> <Directory /a/b> A </Directory> Directory, Location, Files A>B>C>D>E
    22. Proxy Reverso mod_proxy mod_proxy_ajp mod_proxy_balancer mod_proxy_connect mod_proxy_ftp mod_proxy_http mod_rewrite
    23. Proxy Reverso ProxyRequests Off ProxyPreserveHost On ProxyVia Off ProxyTimeout 20 ProxyMaxForwards 10 ProxyBadHeader Ignore ProxyErrorOverride On ProxyStatus On
    24. Proxy Reverso ProxyPassMatch ^/images ! ProxyPass / http://backend:8080/ disablereuse=on ProxyPassReverse / http://backend:8080/
    25. Proxy Reverso <Proxy balancer://supahclustah> BalancerMember http://backend1:8080/ BalancerMember http://backend2:8080/ smax=10 </Proxy> ProxyPass / balancer://supahclustah/ stickysession=JSESSIONID
    26. Proxy Reverso max max. número de conexões no backend connectiontimeout timeout pra criar conexão disablereuse não usa keepalive no backend retry tempo de nova tentativa no backend lbmethod byrequests / bytraffic stickysession Usa cookie pra sticky
    27. URL Rewriting Black Magic Condições Regras Flexibilidade
    28. URL Rewriting TinyURL em 2 linhas RewriteEngine On RewriteMap tinyurl dbm:/export/data/tinyurl.dbm RewriteRule ^(.*)$ ${tinyurl:$1|http://domain.com} [L,NE] /42 http://www.mysuperurl.com/
    29. URL Rewriting SEO Friendly o/ www.domain.com/my-super-topic-1234 www.domain.com/?q=1234 RewriteEngine On RewriteRule /.*-([0-9]+)$ http://backend/viewpage/?q=$1 [P,L]
    30. URL Rewriting Arquivo Existe? RewriteEngine On RewriteCond %{REQUEST_METHOD} =GET [OR] RewriteCond %{REQUEST_METHOD} =POST RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ http://backend/$1 [P,L]
    31. URL Rewriting Porteiras RewriteEngine On RewriteCond ${HTTP:Cookie} !XR=1 RewriteCond ${DOCUMENT_ROOT}/.xrated -f RewriteRule . http://porteira.domain.com/?redir=http://% {HTTP_HOST}%{REQUEST_URI} [CO=XR:1,R,L]
    32. URL Rewriting Trocando query string por request header! RewriteEngine On RewriteCond %{QUERY_STRING} flavor=(.*) RewriteRule (.*) $1 [E=flavor:%1] RequestHeader set Accept application/%{flavor}e env=flavor
    33. Segurança LimitInternalRecursion LimitRequestBody LimitRequestFields LimitRequestFieldSize LimitRequestLine RLimitCPU RLimitMEM RLimitNPROC
    34. SSL NameVirtualHost SSLSessionCache file shm distfile
    35. Performance do servidor Carregar somente os módulos necessários Evitar excesso de log Acertar tunables
    36. Performance do servidor UseCanonicalName Off HostNameLookups Off Options FollowSymLinks AllowOverride None EnableMMAP On EnableSendfile On ExtendedStatus Off DirectoryIndex index.html
    37. Performance do servidor Timeout 30 KeepAlive On KeepAliveTimeout 5 MaxKeepAliveRequests 200 MaxRequestsPerChild 0
    38. Performance do cliente Firebug / YSlow! / Page Speed / IRCache WebPageTest / etc
    39. Performance do cliente Steve Souders’ rules ETag Expires gzip/deflate
    40. Performance do cliente FileETag INode MTime Size FileEtag None
    41. Performance do cliente ExpiresActive On ExpiresByType image/jpeg M604800 ExpiresByType image/gif “access plus 1 week”
    42. Performance do cliente SetEnv gzip-only-text/html 1 SetOutputFilter DEFLATE <LocationMatch “.(css|js|txt|xml|json)$”> UnsetEnv gzip-only-text/html SetOutputFilter DEFLATE </LocationMatch> BrowserMatch ^Mozilla/4 no-gzip BrowserMatch bMSI[E]s4 no-gzip !gzip-only-text/html Header append Vary User-Agent
    43. Dúvidas?
    44. Dúvidas? KTHXBAI

    + trentastrentas, 4 months ago

    custom

    1098 views, 5 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1098
      • 1098 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 5
    • Downloads 51
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories