HostingServerTutorial

Guida: Installare Nginx, PHP e MySQL su Ubuntu Server

Nginx si sta affermando sempre più come alternativa ad Apache. Secondo i benchmark Nginx risulta spesso più performante e sopratutto più leggero di Apache, che soffre spesso di memori leak che portano ad un consumo spropositato di memoria.

E’ stata scelta la distribuzione Ubuntu 10.04 Server perchè offre una delle versioni più aggiornate di Nginx e permette di non installare compilatori e strumenti di configurazione come make.

Di seguito la guida passo passo per l’installazione:

Passo 1: Aggiornare il sistema operativo

  • sudo apt-get update && apt-get upgrade

Passo 2: Installare MySQL, ad un certo punto verrà chiesto di inserire una password per MySQL, inseritene una differente e annotatela.
  • sudo apt-get install mysql-server

Passo 3: Installare PHP5
  1. sudo nginx php5-cli php5-cgi spawn-fcgi
  2. sudo echo “console output” >> /etc/init.d/nginx
  3. sudo update-rc.d nginx defaults
  4. sudo /etc/init.d/nginx start
Se si punta il browser all’indirizzo del server apparirà una semplice pagina con scritto Welcome to Nginx, però ancora non è possibile utilizzare PHP perchè bisogna configurare spawn-fcgi.
Passo 4:Aprire il file spawn-fcgi
  1. sudo nano /etc/init.d/php-fastcgi

Passo 5: Inserire nel file il seguente codice che permette di gestire php5
  • #!/bin/bash
    PHP_SCRIPT=/usr/bin/php-fastcgi
    FASTCGI_USER=www-data
    RETVAL=0
    case "$1" in
    start)
    su - $FASTCGI_USER -c $PHP_SCRIPT
    RETVAL=$?
    ;;
    stop)
    killall -9 php5-cgi
    RETVAL=$?
    ;;
    restart)
    killall -9 php5-cgi
    su - $FASTCGI_USER -c $PHP_SCRIPT
    RETVAL=$?
    ;;
    *)
    echo "Usage: php-fastcgi {start|stop|restart}"
    exit 1
    ;;
    esac
    exit $RETVAL
    console output
Passo 6: Rendere eseguibile il codice e farlo lanciare ad ogni avvio
  • chmod 755 /etc/init.d/php-fastcgi
    sudo update-rc.d php-fastcgi defaults
    sudo /etc/init.d/php-fastcgi start

Passo 7: Creare il proprio sito e abilitare PHP (al posto di miosito.xz va inserito il proprio dominio)
  • sudo nano /etc/nginx/site-availables/miositoserver {
    listen   80;
    server_name www.miosito.xz miosito.xz;
    access_log /srv/www/www.miosito.xz/logs/access.log;
    error_log /srv/www/www.miosito.xz/logs/error.log;
    location / {
    root   /srv/www/www.miosito.xz/public_html;
    index  index.html index.htm;
    }
    location ~ \.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param  SCRIPT_FILENAME  /srv/www/www.miosito.xz/public_html$fastcgi_script_name;
    }
    }

Lascia un commento

Back to top button