[GUIDE] - Nginx med PHP5 och MySQL på Debian

Almänna diskussioner, tips m.m. om virtualisering
wdlinkoping
Inlägg: 24
Blev medlem: 26 mar 2010, 15:00

[GUIDE] - Nginx med PHP5 och MySQL på Debian

Inläggav wdlinkoping » 27 maj 2010, 17:26

Nginx (uttalas "motor x") är en fri, öppen källkod, högpresterande HTTP-server. Nginx är känt för sin stabilitet, rik uppsättning funktioner, enkel konfiguration, och låg resursförbrukning. Den här guiden visar hur du kan installera nginx på en Debian Etch server med PHP5 stöd (genom fastcgi) och stöd för MySQL.

1 Inledning

I denna tutorial jag använder det värdnamn server1.example.com med IP-adressen 192.168.0.100. Dessa inställningar kan skilja sig åt dig, så du måste byta ut dem vid behov.

2 Installera MySQL 5.0
Först måste vi installera MySQL 5.0 så här:

Kod: Markera allt

apt-get install mysql-server mysql-client


Skapa ett lösenord för MySQL användaren root (byt yourrootsqlpassword med det lösenord du vill använda):

Kod: Markera allt

mysqladmin -u root password yourrootsqlpassword


Kontrollera sedan med:

Kod: Markera allt

 netstat -tap | grep mysql netstat-tap | grep mysql


På vilka adresser MySQL lyssnar. Om det ser ut så här:

Kod: Markera allt

    tcp        0      0 localhost.localdo:mysql *:*                     LISTEN     2713/mysqld


vilket innebär MySQL lyssnar på localhost.localdomain bara, då är du säker med det lösenord du har angett tidigare. Men om det ser ut så här:

Kod: Markera allt

    tcp        0      0 *:mysql *:*                     LISTEN     2713/mysqld


Bör du ange ett MySQL lösenord för ditt hostname också, för annars kan vem som helst komma åt din databas och ändra data:

Kod: Markera allt

    mysqladmin -h server1.example.com -u root password yourrootsqlpassword


3 Installera nginx

Nginx finns som ett paket för Debian, men den är gammal (version 0.4.13). Medan den senaste stabila versionen är 0.6.34. Därför bygger jag nginx från källorna.

Först måste vi installera vissa förutsättningar:

Kod: Markera allt

 apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev build-essential apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev build-essential 


Då vi hämta nginx och packa upp den (du hittar den senaste stabila versionen på http://nginx.net/ ):

Kod: Markera allt

 cd / tmp
wget http://sysoev.ru/nginx/nginx-0.6.34.tar.gz wget http://sysoev.ru/nginx/nginx-0.6.34.tar.gz
tar xvfz nginx-0.6.34.tar.gz tar xvfz nginx-0.6.34.tar.gz
cd nginx-0.6.34 CD nginx-0.6.34


Du kan köra:

Kod: Markera allt

 ./configure --help . / Configure - help 


För att ta reda på alla konfigurationsalternativ.

Jag använder följande:

Kod: Markera allt

 ./configure --sbin-path=/usr/local/sbin --with-http_ssl_module . / Configure - sbin-path = / usr / local / sbin - with-http_ssl_module


...och kör

Kod: Markera allt

make
make install

för att slutföra installationen.

Detta kommer att skapa katalogen / usr / local / nginx som innehåller konfigurationsfiler, loggar, och standard-webbplats (i / usr / local / nginx / html).

I nästa steg skapa nginx Initieringsskriptfunktionalitet:

Kod: Markera allt

 vi /etc/init.d/nginx vi / etc / init.d / nginx


Kod: Markera allt

#! /bin/sh

### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
        . /etc/default/nginx
fi

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON
        sleep 1
        start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  reload)
      echo -n "Reloading $DESC configuration: "
      start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON
      echo "$NAME."
      ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0


Göra filen körbar och starta nginx:

Kod: Markera allt

chmod 755 / etc / init.d / nginx
/etc/init.d/nginx start / Etc / init.d / nginx start


Skriv in din webbserver IP-adress eller värdnamn i en webbläsare (t.ex. http://192.168.0.100), och du bör se nginx välkomstsidan:

Bild

För att starta Nginx vid boot, kör:

Kod: Markera allt

update-rc.d nginx defaults



Samma sak gäller denna guide, rätt så basic och kom ihåg att installera brandvägg och lås dom portar du ej behöver. Kanske slänger upp en sån guide med.

Skriv en kommentar om ni undrar över något så hjälps vi åt!

Vänligen,
Pontus Abrahamsson

http://wdlinkoping.se
Senast redigerad av wdlinkoping 18 feb 2011, 09:58, redigerad totalt 1 gång.

decco
Inlägg: 7
Blev medlem: 24 nov 2008, 12:30

Re: GUIDE - Nginx med PHP5 och MySQL på Debian

Inläggav decco » 28 maj 2010, 11:32

Alltid bra med guider!
Såg att du råkat skriva visa saker dubbelt i kodfälten och har några mellanrum för mkt.
Sen kan jag inte se var php/fastcgi installeras någonstans, men det kan vara för att jag är något trött nu innan lunch :D

Jag följde den här guiden när jag installerade http://www.linuxspace.org/archives/1576

Fredrik
Inlägg: 18
Blev medlem: 29 maj 2010, 22:14

Re: GUIDE - Nginx med PHP5 och MySQL på Debian

Inläggav Fredrik » 29 maj 2010, 22:44

Tack för denna guiden. Tyvärr kommer jag inte alls långt innan jag stöter på problem.

Jag har en VPS hos Glesys som kör Debian 5.0.

När jag försöker installera MySQL - första steget på guiden - så står servern bara och tuggar när den ska ladda ner från ftp.se.debian.org. Jag har gjort följande:

1. apt-get install mysql-server mysql-client
2. Godkänt att det tar 142MB (Y)
3. Godkänt att alla filer inte lyckats bli veriferade (Y).
4. Servern försöker ansluta mot ftp.se.debian.org. (0% [Connecting to ftp.se.debian.org])
4.1 Err http.//ftp.se.debian.org lenny/main pearl 5.10.0-19 Temporary failure resolving 'ftp.se.debian.org'
5. Sen upprepas procedur 4 och 4.1 av servern och inget händer.

Hur kommer sig detta och hur ska jag lösa det?

joelbacklund
Inlägg: 13
Blev medlem: 08 maj 2009, 17:07

Re: GUIDE - Nginx med PHP5 och MySQL på Debian

Inläggav joelbacklund » 29 maj 2010, 23:05

Kul att det börjar dyka upp guider om Nginx! Jag har själv skrivit lite om Nginx på min hemsida:


wdlinkoping
Inlägg: 24
Blev medlem: 26 mar 2010, 15:00

Re: GUIDE - Nginx med PHP5 och MySQL på Debian

Inläggav wdlinkoping » 30 maj 2010, 16:29

@Fredrik

Jag ska testa att installera via guiden en gång till för att se så det inte är något, kopiera/klistra in strul med taggar och mellanrum.
Jag återkommer med info.

vänligen,
Pontus Abrahamsson

http://wdlinkoping.se

Fredrik
Inlägg: 18
Blev medlem: 29 maj 2010, 22:14

Re: GUIDE - Nginx med PHP5 och MySQL på Debian

Inläggav Fredrik » 30 maj 2010, 23:30

Jag håller på och testat lite mer.

Tog bort min VPS på Glesys och la till en ny. Jag hade troligtvis glömt koppla en IP-adress till paketet först och kört apt-get install mysql-server mysql-client. Tror det var det som strula till det.

För nu la jag till en VPS, koppla direkt en IP4-adress och då var det inga problem med att det stod och tugga så som det gjort tidigare.

Användarvisningsbild
StefanJson
Inlägg: 2
Blev medlem: 09 okt 2011, 23:58
Kontakt:

Re: [GUIDE] - Nginx med PHP5 och MySQL på Debian

Inläggav StefanJson » 10 okt 2011, 00:28

Jag har själv gått över till VPS hos GleSYS nyligen.
Jag använder Debian 6 32-bit som OS och har sedan installerat Nginx som webbserver. Jag använder uteslutande WordPress för mina webbplatser, och därför har jag konfigurerat Nginx för WordPress.
Ni hittar en guide för detta på min blogg. http://stefanjson.se/2011/installera-och-konfigurera-nginx-for-wordpress/
Jag tar gärna mot synpunkter på guiden/konfigurationen.


Återgå till "Allmänt"

Vilka är online

Användare som besöker denna kategori: 1 och 0 gäst