joi, 27 august 2009

Conspect configurare server web linux

Am un client care vrea un server web / ftp cu mult spaţiu pe disc (sute de GB). Cum firmele de hosting din Romania nu ofera asa spaţiu generos pe disc, iar colocaţia costă prea mult, am decis să ţin pentru început serverul la mine.

Nu sunt expert în gestionarea unui server linux, aşa că notez aici diverse idei şi referinţe găsite pe web:

  • Instalez o versiune server, fără sistem grafic X (Gnome / KDE). Gestionarea sistemului o fac sau în linie de comandă, sau printr-o interfaţă accesibilă prin web (stil Cpanel / Plesk).
  • Utilitarul htop este o variantă îmbunătăţită a lui top - arată încărcarea sistemului pe fiecare procesor / nucleu, şi nivelul de folosire a memoriei fizice şi a celei virtuale.
  • Utilitare gratuite de gestionare a serverului web:
  • Module Apache2:
    • mod-bw - pot limita lăţimea de bandă şi numărul de conexiuni simultane, per virtual-host şi per director
    • mod-fastcgi - execuţia de programe PHP în mod fastcgi e mai rapidă şi mai sigură decât încărcarea modulului PHP în Apache şi execuţia scriptului de acolo. Explicaţie FastCGI, performanţa cu FastCGI, FastCGI şi PHP.
    • a2enmod, a2dismod - apache 2 enable / disable module
    • mod_deflate - Apache comprimă fişierele înainte de a le trimite pe reţea, spre client. Trebuie să văd dacă avantajul transferului rapid al fişierelor text/html merită consumul crescut de procesor pentru compresia în timp real.
    • eAccelerator - accelerator de script-uri PHP
    • Pro-memoria - să verific dacă E-TAGs nu sunt implicit activate - şi dacă sunt, poate să le dezactivez.
  • HDSentinel - citeşte starea hard-disk-urilor, poate modifica nişte reglaje de performanţă
  • Module Drupal - nu toate au legătură cu performanţa
  • Îmbunătăţire performanţe Apache
  • Optimizare Drupal
  • Testare site
    • Firebug + Net Pannel + YSlow (inclusiv tools ca smush.it)
    • http://webpagetest.org
    • Fiddler - proxy pentru windows, permite analiza traficului în reţea
  • Optimizări generale
    • Este esenţială reducerea numărului de fişiere servite pentru afişarea paginii
    • Toate CSS-urile - la începutul paginii
    • Toate JS-urile - la sfârşitul paginii - înainte de </body>. Asta include şi script-urile onClick, onLoad etc.
    • Capabilităţile browserelor de a încărca fişiere javascript, fişiere CSS şi imagini în paralel - UA Profiler
    • Cuzillion - generare de combinaţii de JS, CSS, frames etc., ca apoi să testez pe mai multe browsere cum afectează timpul de încărcare al paginii.
    • Păstrez doar modulele Apache pe care le folosesc. Şi în general, instalez doar pachetele pe care le folosesc, nimic în plus.
    • MySQL - InnoDB e recomandat pentru tabelele cu acces concurent scriere / citire (de exemplu cel de sesiuni).
    • APC - alternativă la eAccelerator (cică e mai stabil)
    • Apache Bankmark - comanda ab
    • Siege - site tester
    • Webtest Tools
    • Zend Server Community Edition - ar fi mai bun ca APC, care-ar fi mai bun ca restul celor gratuite.
    • Apache cu mod_fcgid

Referinţe:

Niciun comentariu:

Trimiteți un comentariu