Veebiserverite tarkvara vordlus: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 33: Line 33:


lahtipakkimine:
lahtipakkimine:
{{{
<pre>
cd /usr/src/
cd /usr/src/
tar zxvf /root/httpd-2.2.15.tar.gz
tar zxvf /root/httpd-2.2.15.tar.gz
cd httpd-2.2.15
cd httpd-2.2.15
}}}
</pre>


algne konfiguratsioon, kompileerimine, paigaldus:
algne konfiguratsioon, kompileerimine, paigaldus:
ise kompileerimiseks on vaja paljusid utiliite ja teeke. lisavõimaluste (php, geoip, ssl jms.) kompileerimiseks tuleb linux keskkonnas lisada -dev lõpuga pakke, näiteks libssl-dev.
ise kompileerimiseks on vaja paljusid utiliite ja teeke. lisavõimaluste (php, geoip, ssl jms.) kompileerimiseks tuleb linux keskkonnas lisada -dev lõpuga pakke, näiteks libssl-dev.
põhifunktsionaalsuse kompileerimiseks on vaja c komilaatorit '''gcc''' ja utiliiti '''make'''.
põhifunktsionaalsuse kompileerimiseks on vaja c komilaatorit '''gcc''' ja utiliiti '''make'''.
{{{
<pre>
apt-get install gcc make
apt-get install gcc make
./configure
./configure
make
make
make install
make install
}}}
</pre>


vaikimisi installitakse veebiserver kataloogi /usr/local/apache2
vaikimisi installitakse veebiserver kataloogi /usr/local/apache2
Line 55: Line 55:
Et kõik veebiserverid oleksid võrdses seisus, tekitan lihtsa kodulehekülje kausta /opt/www ja sellele vastava virtuaalse hosti:
Et kõik veebiserverid oleksid võrdses seisus, tekitan lihtsa kodulehekülje kausta /opt/www ja sellele vastava virtuaalse hosti:


<plaintext>
<pre>
 
<VirtualHost *:80>
<VirtualHost *:80>
         DocumentRoot /opt/www/
         DocumentRoot /opt/www/
Line 63: Line 62:
         </Directory>
         </Directory>
</VirtualHost>
</VirtualHost>
</pre>
Vaikimisi on kasutab apache prefork moodulit. See tähendab, et iga sissetuleva ühenduse kohta tekitatakse protsess. Jõudluse suurendamiseks suurendan maksimaalset kliente teenindavate protsesside arvu 200 paralleelse ühenduseni:


</plaintext>
<pre>
MaxClients 200
</pre>


=== Apache Tomcat 6.0 ===
=== Apache Tomcat 6.0 ===

Revision as of 16:19, 17 April 2010


Veebiserverite tarkvara võrdlus

Autor: Priit Pääsukene

Lühidalt veebiserveritest

Veebiserverid on protsessid, mis oskavad vastata HTTP ja HTTPS päringutele. Tavakasutaja poolt vaadatuna paistab veebiserveri töö välja sel viisil, et brauseri ekraanile kuvatakse ilus ja värviline veebileht. Surfates brauseriga internetis, tähendab pea iga hiireklõps, et sinu brauser saadab veebiserverile päringuid, veebiserver vastab neile, ning tulemuseks on järjekordne lehekülg internetti kasutaja brauseri ekraanil.

Veebiserverite kõige tavalisemaks ülesandeks on erinevate failide serveerimine. See on veebiserverite hingeelust aru saamiseks hädavajalik teadmine. Veebiserverid ei joonista pilte, ei kuva flash videoid ega raputa su brauseriakent. Veebiserveri ülesandeks on vastata päringule "GET /index.php/Main_Page" vastava HTML .

Lisaks oskavad tänapäevased veebiserverid lisaks failide serveerimisele käivitada ka erinevates keeltes (php, java, .net) kirjutatud programme, kontrollida, kas antud kasutajale on õigus seda faili serveerida jms.

Võrdluse metoodikast

Lisaks subjektiivsele serverite kirjeldusele jooksutan läbi ka väikese koormustesti erinevate veebiserverite vastu. Testi käigus jälgin serverite koormust ja mälukasutust. Testimiseks kasutana apache poolt loodud utiliiti "ab" ehk apache benchmark. Et testida veebiserverit koormatuse tingimustes kasutan ühe veebiserveri testimiseks vähemalt kahte klienti. Platvormiks on Linuxi distributsiooni Debian viimane versioon (lenny).

Jõudlustesti keskkond:

[ klient1 ] <----- 1Gbit ethernet ------> [ server ]
[ klient2 ]

Veebiserverid

Apache httpd 2.0

Paigaldus:

lähtekoodi, dokumentatsiooni ja palju muud huvitavat leiab aadressilt http://httpd.apache.org

lahtipakkimine:

cd /usr/src/
tar zxvf /root/httpd-2.2.15.tar.gz
cd httpd-2.2.15

algne konfiguratsioon, kompileerimine, paigaldus: ise kompileerimiseks on vaja paljusid utiliite ja teeke. lisavõimaluste (php, geoip, ssl jms.) kompileerimiseks tuleb linux keskkonnas lisada -dev lõpuga pakke, näiteks libssl-dev. põhifunktsionaalsuse kompileerimiseks on vaja c komilaatorit gcc ja utiliiti make.

apt-get install gcc make
./configure
make
make install

vaikimisi installitakse veebiserver kataloogi /usr/local/apache2 konfiguratsioon asub failis /usr/local/apache2/conf/httpd.conf see konfiguratsioon serveerib apache dokumentatsiooni katalogist /usr/local/apache2/htdocs

Et kõik veebiserverid oleksid võrdses seisus, tekitan lihtsa kodulehekülje kausta /opt/www ja sellele vastava virtuaalse hosti:

<VirtualHost *:80>
        DocumentRoot /opt/www/
        <Directory /opt/www>
                Allow from all
        </Directory>
</VirtualHost>

Vaikimisi on kasutab apache prefork moodulit. See tähendab, et iga sissetuleva ühenduse kohta tekitatakse protsess. Jõudluse suurendamiseks suurendan maksimaalset kliente teenindavate protsesside arvu 200 paralleelse ühenduseni:

MaxClients 200

Apache Tomcat 6.0

Apache tomcat on java-s kirjutatud veebirakenduste server. Tema jooksutamiseks peab olema masinasse installeeritud java

Nginx

Lighttpd