Oppaat

Johdanto
Kirjoittaja: Pekka Mansikka
Nginx-palvelin (lausutaan ”engine-x”) on Igor Sysojevin kehittämä HTTP-, proxy- ja sähköpostipalvelin. Alkuaan nginx kehitettiin webbiportaali Ramblerin palvelimeksi. Ensimmäinen versio siitä julkaistiin syksyllä 2004. Myöhemmin sen ovat ottaneet käyttöön monet sivustot, joissa on raskasta kuormitusta Arviolta palvelinta käytetään noin neljänneksessä maailman vilkkaimmista internet-sivustoista. Vuoden 2012 alussa nginx-palvelin nousi maailman toiseksi käytetyimmäksi, kun mukaan lasketaan vain aktiiviset sivustot ja ei huomioida domainparkkeja.
Php-fpm eli fastcgi-laajennus sisältyy php 5 laajennuspaketteihin versiosta php 5.3.3 eli käytössä vasta marraskuusta 2011 alkaen. Sitä ennen se on ollut saatavissa erikseen asennettava versiona vuodesta 2009.
1. Pakettien asennukset
Avaa Ubuntun pääteohjelma ja kirjoita siihen seuraava komento:
     sudo apt-get install nginx php5 php5-mysql php5-fpm mysql-server mysql-client
Lisää myös php:lle xcache ja GD-kuvien tuki:
    sudo apt-get install php5-xcache php5-gd 
Näillä komennoilla kotisivujen polku asentuu automaattisesti hakemistoon /usr/share/nginx/www/. Tämä ei myöskään vielä saata php:ta toimintaan vaan sitä varten tarvitsee tehdä lisäasetuksia.
Asenna seuraavaksi PhpMyadmin:
    sudo apt-get install phpmyadmin 
2. Palvelimen tarpeelliset konfiguroinnit
Avaa tiedosto sites-enabled/default seuraavalla komennolla:
     sudo gedit /etc/nginx/sites-enabled/default
Lisää index – moduulille arvo "index.php" seuraavaan kohtaan:
   root /usr/share/nginx/www;
   index index.php index.html index.htm;
Poista kommenttimerkit tämän metodin edestä:
    #error_page 500 502 503 504 /50x.html;
    location = /50x.html{
     root /usr/share/nginx/www;
    }
Jos otat käyttöön käyttäjien omat hakemistot (http://localhost/~user), voit tämän seuraavan ohjeen ohittaa ja asettaa php:n kohdalleen kohdan 3 ohjeen mukaisesti. Muussa tapauksessa ota kommenttimerkit pois seuraavan metodin edestä ja muuta sen sisältö seuraavaksi joka sisällyttää nginx:n ympäristömuuttujat php:lle. Silmukan loppuun voi lisätä myös muutamia muita php-asetuksia.
   # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
   # 
   location ~ .php$ { 
    include /etc/nginx/fastcgi_params; 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_split_path_info ^(.+.php)(/.+)$; 
    fastcgi_index index.php; 
   }
Testattuasi ohjelmaa huomaat että osoitteessa http://localhost avautuu sivu jossa lukee "Welcome to nginx" Nginx-palvelimen kotisivujen oletuspolku on /usr/share/nginx/www. Voit halutessasi luoda omat kotisivusi tähän hakemistoon. Tätä juuripolkua voit halutessasi muttaa default tiedostossa moduulissa root, joka näkyy tämän sivun yläosan esimerkissä.
Tärkeää: Kun muokkaat nginx-palvelintiedostoja, ole huolellinen siinä että et jätä tyhjää riviä kahden location-metodin väliin eikä myöskään kyseisen metodin alkuun tai loppuun kannata jättää tyhjiä rivejä. Pienikin virhe, mikä estää ohjelman etenemisen, voi aiheuttaa sen, että yllä olevat rivit hakevat tiedot apachen ympäristömuuttujista (mikäli sen tiedostot ovat paikoillaan) sillä nginx palvelinta voi käyttää yhdessä apachen asetusten kanssa. Tämä kuitenkin sivuuttaa kaikki mahdolliset muutokset, joita nginx-palvelimella olet asetuksiisi tehnyt.
Aseta PhpMyadmin näkymään juuriahakemistoon osoitteessa http://localhost/phpmyadmin kopiomalla seuraava ohjelma edellä mainittuun tiedostoon default:
   # PhpMyAdmin - default
   location /phpmyadmin {
       root /usr/share/;
       index index.php index.html index.htm;
    location ~ ^/phpmyadmin/(.+.php)$ {
              try_files $uri =404;
              root /usr/share/;
              fastcgi_pass 127.0.0.1:9000;
              fastcgi_index index.php;
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
              include /etc/nginx/fastcgi_params;
     }
     location ~* ^/phpmyadmin/(.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        root /usr/share/;
         }
   }
   location /phpMyAdmin {
       rewrite ^/* /phpmyadmin last;
   }
Yllä olevassa esimerkissä osoiteriville hyväksytään muodot http://localhost/phpmyadmin sekä http://localhost/phpMyAdmin.