Opsætning af apache2 mpm-worker og php5

Få hjælp og support til alt server-relateret. Guides og How-to's i forbindelse med servere hører også til her.
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Opsætning af apache2 mpm-worker og php5

Indlæg af NickyThomassen »

Under opsætningen af en 12.04 er jeg løbet ind i det underlige problem, at jeg ikke kan få apache2's mpm-worker modul til at være installeret samtidig med libapache2-mod-php5. Den underlige del er at det virker i Debian, men altså ikke i 12.04.

Lidt baggrund
apache2 har to grundlæggende forskellige moduler der kan servere indhold: prefork og worker.

prefork starter en ny process til hver klient der forbinder, alt imens worker er multi-threaded. Det betyder at worker kun bruger nogle få processer (helt ned til 1), og så servere indhold ved at oprette en thread til hver klient. Ydelsesforskellen imellem de to, er rapporteret ret bredt, men worker skulle være hurtigst, og ikke bare med nogle få procent, men under nogen forhold med helt op til 100%. Selvsagt ville jeg foretrække worker.

Men men. I Ubuntu har man vurderet at libapache2-mod-php5 ikke understøtter threading ordentligt, og dermed udelukket den fra at være installeret sammen med worker. Det vil sige, at man (åbenbart) er tvunget til at bruge noget fastCGI bras, som jeg hverken kan eller vil bruge tid på., fordi opsætningen bliver utrolig kompleks i forhold til libapache2-mod-php5.

På den anden side er jeg ikke sikker på at serveren kan "nøjes" med prefork, så jeg er nød til at bruge worker. Og php5 er et krav, og kan ikke undværes.

Det ser ud til at ændringen i pakkerne blev lavet imellem 11.04 og 11.10, så 10.04 er ikke berørt.

Der skulle vel ikke være en blandt forummets besøgende, som har rodet rundt med det her, og kender en god løsning? Som sagt har jeg læst mindst 10 guides om fastCGI, men når linier skal rettes i /etc/apache2/mods-*/, så er det ikke en god løsning (i min mening). I princippet kunne jeg vel bare bygge ud fra kilden, men så hænger jeg selv på opdateringerne... (heller ikke optimalt ;) )
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Opsætning af apache2 mpm-worker og php5

Indlæg af AJenbo »

Du må også gerne installere php-apc så scripts bliver cachet.
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Opsætning af apache2 mpm-worker og php5

Indlæg af AJenbo »

Jeg forslår du bruger mod_fgcid, det er faktisk gangske læt at sætte op og vores server vil bruge færre ram og fære database forbindelser (det siden pt. ofte dør på) end med mod_php samtidig. Desuden vil vi også kunne bruge SPDY under https som vil give hurtigere indlæsning af siden. mod_fgcid er også betydeligt mere stabilt end FastCGI.

Kode: Vælg alt

sudo a2dismod php
sudo apt-get install php5 php5-cgi libapache2-mod-fcgid
sudo nano /etc/apache2/httpd.conf

Indsæt:

Kode: Vælg alt

<Location />
AddHandler fcgid-script .php
Options +ExecCGI
FcgidWrapper /usr/bin/php-cgi .php
</Location>

Kode: Vælg alt

sudo service apache2 restart
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Re: Opsætning af apache2 mpm-worker og php5

Indlæg af NickyThomassen »

Ja, det er selvfølgelig i forbindelse med opsætningen af UbuntuDKs nye VPS at jeg spørger :)

Tak for hjælpen, og jeg vil give dig ret i at libapache2-mod-fcgid er nogenlunde det samme som libapache2-mod-php5 at sætte op. Det hele ser ud til at virke som det skal, men jeg er lidt nysgerrig efter at vide hvad

Kode: Vælg alt

<Location />
betyder?

Burde jeg ikke ændre den til DocumentRoot, altså

Kode: Vælg alt

<Location /home/www>
?
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Re: Opsætning af apache2 mpm-worker og php5

Indlæg af NickyThomassen »

AJenbo skrev:Du må også gerne installere php-apc så scripts bliver cachet.

Den ser ud til at være installeret og fungere.

Kode: Vælg alt

APC Support   enabled
Version    3.1.7
APC Debugging    Disabled
MMAP Support    Enabled
MMAP File Mask    no value
Locking type    pthread mutex Locks
Serialization Support    php
Revision    $Revision: 307215 $
Build Date    May 2 2011 05:02:04

Jeg overveje også at kigge på apache2s egne moduler til cache, og se om de kunne give lidt.
http://httpd.apache.org/docs/2.2/mod/mod_cache.html
http://httpd.apache.org/docs/2.2/mod/mod_mem_cache.html
http://httpd.apache.org/docs/2.2/mod/mod_disk_cache.html
Jeg ved ikke om du har erfaring med dem?
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Re: Opsætning af apache2 mpm-worker og php5

Indlæg af NickyThomassen »

I Wordpress ser det faktisk ud til at php-apc giver omkring det dobbelte i ydelse, så rigtig godt valg.
Jeg har kopieret apc.php ind i DocumentRoot http://31.192.231.5/apc.php Så der er ihvertfald ingen tvivl om at den kører :)

Der er en fyr her der bl.a. testede php-apc, men også nginx og varnish
http://www.garron.me/linux/apache-vs-nginx-php-fpm-varnish-apc-wordpress-performance.html
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Opsætning af apache2 mpm-worker og php5

Indlæg af AJenbo »

Det kunne være spændende at have en Varnish til cache, men det er ikke noget jeg har erfaring med :)

Vi er jo temmelig begrænset med de 256MB ram, så hvor meget memcache vi lige kan køre ved jeg ikke. Jeg har heller ingen erfaring med opsætningen af de nævnte.

Koden fik jeg fra Google (ikke en google søgning), som fik den fra Apache2 så jeg kan ikke rigtig svare dig på hvorfor det er <Location /> og ikke <Location /home/www>.
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Re: Opsætning af apache2 mpm-worker og php5

Indlæg af NickyThomassen »

AJenbo skrev:Det kunne være spændende at have en Varnish til cache, men det er ikke noget jeg har erfaring med :)

Vi er jo temmelig begrænset med de 256MB ram, så hvor meget memcache vi lige kan køre ved jeg ikke. Jeg har heller ingen erfaring med opsætningen af de nævnte.

Koden fik jeg fra Google (ikke en google søgning), som fik den fra Apache2 så jeg kan ikke rigtig svare dig på hvorfor det er <Location /> og ikke <Location /home/www>.

Jeg fulgte for nogle år siden Poul Henning Kamps sidste del af udviklingen af varnish, og det var faktisk ret spændende. Jeg er frisk på at prøve og sætte det op, men inden da må vi hellere finde en god måde at stress-teste apache på, så vi har et sammenligningsgrundlag. Måske jeg bare skulle installere en standard Wordpres og phpBB, og så teste serveren med det?

De 256 mb ram er kun midlertidigt. Jeg fik ved det sidste irc-møde godkendt at vi kan bruge op til 180 kr om måneden på hosting, og det svarer til 1024 mb ram (eller 768 mb ram og 10 gb harddisk) i stedet for. Den kan opgraderes og nedgraderes i blokke af 256 mb uden genstart, og man betaler kun per påbegyndte time.

Ok, jeg prøver at slå <Location> op et eller andet sted :)
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Opsætning af apache2 mpm-worker og php5

Indlæg af AJenbo »

Det er dælme også en minimal installation vi har, kun 501MB og ingen pakke forslag til apt-get så man skal skrive alt :o

Jeg er helt enig i at vi først skal have noget data før vi begynder at opsætte noget "smart". Vi ved ikke engang hvor meget ram vores side skal have for at køre optimalt pt.
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Opsætning af apache2 mpm-worker og php5

Indlæg af AJenbo »

Har lige installeret bash-completion så man kan bruge tab til de mest gænge kommandoer etc.