Ohje: Nginx ja PHP 8.0 asennus sekä testisivun luominen Debian 10 -ympäristössä

Mikä on Nginx?

Nginx on www- ja proxy-palvelin, joka käytännössä mahdollistaa verkkosivujen toimivuuden. Nginx on äärimmäisen monipuolinen www-palvelin ja kestää erittäin hyvin isoja määriä sivustovierailijoita. Nginx on hyvä vaihtoehto apache www-palvelimelle.

Mikä on PHP?

PHP eli hypertextprocessor on backend kieli joka mahdollistaa monimutkaisten websovellusten tekemisen. PHP on helppo oppia ja se on myös suhteellisen helppo asentaa. Tällä hetkellä suurinosa verkkosovelluksista on tehty phplla. Esimerkiksi tämäkin verkkosivu pyörii phplla. Nykyaikana php kuitenkin alkaa olla jo vähän vanha kieli vaikka sitä vielä päivitetään. PHPta korvaa JavaScript pohjaiset backend sovellukset kuten NodeJs.

Nginxin asennus

Jotta saamme meidän verkkosivut ja php:n toimimaan, tarvitsemme www-palvelimen. Aloitetaan asentamalla kaikki tarvittavat sovellukset, josta nginx tarvitsee. Jos et käytä root-käyttäjää, muista laittaa aina sudo lauseen alkuun.

$ sudo apt-get install curl gnupg2 ca-certificates lsb-release 

$ sudo apt-get update

Tämän jälkeen nginx asennus.

$ sudo apt-get install nginx

Jos tämä kuitenkin epäonnistuu, kokeile seuraavaa:

Sinulta saattaa puuttua tärkeitä lähteitä riippuen sovelluksiin mitä nginx tarvitsee.

Lisätään nginxin mainline-lähde aptin lähdetiedostoon joka sijaitsee /etc/apt/sources.list

$ echo "deb http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

Tarvitsemme vielä avaimen tätä lähdettä varten

$ curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -

Päivitä ja kokeile uudelleen nginxin asennusta.

$ sudo apt-get update

$ sudo apt-get install nginx

 

Jos teit asennuksen oikein, sinun pitäisi nähdä seuraava sivu kun menet palvelimesi osoitteeseen verkossa:

Jos et tarvitse phpta sivuillesi, niin voit aloittaa normaalin käytön.

Löydät verkkosivu tiedostosi seuraavasta sijainnista: /var/www/html

Korvaa kohteessa oleva index.nginx-debian.html tiedosto omalla index.html tiedostolla.

 

PHP 8.0 asennus

* Otathan huomioon, että käytämme jokaisessa komennossa php8.0 versiota, jos haluat asentaa jonkin muun, kuten php 7.3, korvaa php8.0 php7.3

Ensin lisäämme phpn gpg avaimet ja arkistot.

$ sudo apt-get install wget apt-transport-https

$ wget https://packages.sury.org/php/apt.gpg

$ sudo apt-key add apt.gpg

$ echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

$ sudo apt-get update

Tämän jälkeen asenna kaikki tarvittavat phpn lisäosat ja php itse.

$ sudo apt-get install php8.0 php8.0-fpm php8.0-common php8.0-mysql php8.0-gmp php8.0-curl php8.0-intl php8.0-mbstring php8.0-xmlrpc php8.0-gd php8.0-xml php8.0-cli php8.0-zip php8.0-soap php8.0-imap

 

Kuinka configuroida PHP 8.0 Nginxille.

* Otathan huomioon, että käytämme jokaisessa komennossa php8.0 versiota, jos haluat asentaa jonkin muun, kuten php 7.3, korvaa php8.0 php7.3

Nytten kun olemme asentanee Nginxin ja PHPn, voimme siirtyä seuraavaan vaiheeseen.

Nginxin www-asetukset löytyvät /etc/nginx/site-avaible/ kansiosta, käytössä olevat asetukset löytyvät linkkinä /etc/nginx/sites-enabled/ kansiosta.
Normaalisti näissä kansioissa on yksi tiedosto ja se on nimetty default. Voit muokata tätä samaa tiedostoa.

Lisää uusi location määritelmä aiemman location yläpuolelle:

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

Kun olet lisännyt tämän, voit lisätä index kenttään index.php

Kun olet lisännyt molemmat kohdat, sinun default tiedosto pitäisi näyttää tältä (ilman kommentteja):

 

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html index.php;

        server_name _;

        location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/run/php/php8.0-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }

        location / {
                try_files $uri $uri/ =404;
        }
}

Tämän jälkeen tallenna tiedosto, testaa onko sinulla virheitä asetuksissa  nginx -t komennolla. Jos on, korjaa ne ja sen jälkeen uudelleenkäynnistä nginx komennolla service nginx restart tai systemctl restart nginx.

Jotta voimme testata, toimiiko php, voimme korvata index.nginx-debian.html omalla index.php joka näyttää seuraavalta:

<?php

//Tulostetaan phpn tiedot verkkosivulle
phpinfo();

?>

Jos php toimii oikein, verkkosivun pitäisi tulostaa phpn tiedot:

 

 


 

Nginx-asennus Linux-järjestelmään.

 

Nginx on suosittu avoimen lähdekoodin verkkopalvelin, joka tunnetaan korkeasta suorituskyvystään ja hyvästä skaalautuvuudestaan.

Asennuksen aloittamiseksi päivitä ensin järjestelmä komennolla
sudo apt-get update

Seuraavaksi asenna Nginx komennolla
sudo apt-get install nginx

Kun asennus on valmis, käynnistä Nginx-palvelin komennolla
sudo systemctl start nginx

Voit tarkistaa, että palvelu toimii oikein, suorittamalla
sudo systemctl status nginx

Oletuksena Nginxin pitäisi käynnistyä automaattisesti järjestelmän käynnistyksen yhteydessä. Tarkista tämä komennolla
sudo systemctl is-enabled nginx

Jos käytät palomuuria, salli saapuva HTTP- ja HTTPS-liikenne suorittamalla
sudo ufw allow 'Nginx Full'

Kun nämä vaiheet on suoritettu, voit avata verkkoselaimen ja kirjoittaa osoiteriville palvelimen IP-osoitteen. Jos kaikki on onnistunut, näet Nginxin oletusetusivun.

Olet nyt asentanut Nginxin Linux-järjestelmääsi. Mikäli asennuksen aikana ilmenee ongelmia, ota meihin yhteyttä.


Nginx asennus Debian pohjaisille järjestelmille.

1.Päivitä järjestelmä

Avaa pääte ja suorita seuraavat komennot:

sudo apt update
sudo apt upgrade -y

2.Asenna Nginx.

Asenna Nginx komennolla:

sudo apt install nginx -y

3. Tarkista, että palvelu toimii.

Tarkista Nginx-palvelun tila:

sudo systemctl status nginx

4. Avaa palomuurissa tarvittavat portit

Jos käytät UFW-palomuuria, salli HTTP ja HTTPS -liikenne:

sudo ufw allow 'Nginx Full'
sudo ufw reload
sudo ufw status

5. Testaa asennus.

Avaa selaimessa palvelimen IP-osoite tai verkkotunnus.

Jos näet Nginxin oletussivun “Welcome to nginx!”, asennus onnistui.

 

Olet nyt asentanut Nginxin Linux-järjestelmääsi, jos ongelmia ilmenee ota meihin yhteyttä. :)

 

 

Tässä ohjeessa näytän, kuinka saat luotua testisivun Nginxilla.


1. Ensimmäisenä luo uusi hakemisto. Voit luoda sen tällä komennolla:

sudo mkdir -p /var/www/esimerkkidomain.com/html

2. Seuraavaksi anna hakemistolle käyttöoikeudet käyttämällä näitä komentoja:

$ sudo chown $USER:$USER /var/www/esimerkkidomain.com
$ sudo chmod 755 /var/www/esimerkkidomain.com

3. Sitten luo index.html tiedosto käyttämällä esimerkiksi nano ohjelmaa, joka sisältää aivan perus html pohjan: 

$ sudo nano /var/www/esimerkkidomain.com/html/index.html


<!DOCTYPE html>
<html>
<head>
<title>Testi</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Tämä on testi sivu</h1>
<p>Testi</p>

<p><a href="http://nginx.org/">nginx.org</a>.<br/>
Terve<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Kiitos testaamisesta.</em></p>
</body>
</html>



Saat tallennettua tiedoston painamalla Ctrl+o ja voit sulkea tiedoston painamalla Ctrl+x.

4. Seuraavaksi luo määritystiedosto palvelinlohkollesi:

$ sudo nano /etc/nginx/sites-available/esimerkkidomain.com
Kirjoita alla oleva koodi tiedostoon:

server {
listen 80;

root /var/www/esimerkkidomain.com/html;
index index.html index.htm index.nginx.debian.html;

server_name esimerkkidomain.com www.esimerkkidomain.com;
location / {
try_files $uri $uri/ =404;
}
}

Saat tallennettua tiedoston painamalla Ctrl+o ja voit sulkea tiedoston painamalla Ctrl+x.

 

5. Luo linkki asetustiedostoon käynnistyshakemistossa:

$ sudo ln -s /etc/nginx/sites-available/esimerkkidomain.com /etc/nginx/sites-enabled

 

6. Seuraavaksi uudelleenkäynnistä Nginx:

$ sudo systemctl restart nginx

 

7. Testaa palvelinlohkon määritykset Nginxissä:

$ sudo nginx -t

Jos kaikki toimivat niin kuin pitää tälläinen ilmoitus tulee: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok.  nginx: configuration file /etc/nginx/nginx.conf test is successful.

8. Tämä vaihe on valinnainen mutta suositeltava, jotta voit käyttää verkkotunnusta suoraan selaimessa.

Käytä tätä komentoa tarkistaaksesi järjestelmäsi IP-osoitteen:

$ hostname –i

9.  Muokkaa tiedostoa /etc/hosts nanoeditorissa lisäämällä uusi rivi, jossa lukee toimialueesi nimi ja IP-osoite:

127.0.1.1 esimerkkidomain.com www.esimerkkidomain.com
Paina CTRL+o tallentaaksesi tiedoston ja paina CTRL+x poistuaksesi tiedostosta nanossa.

10. Sitten uudelleenkäynnistä Nginx:
$ sudo systemctl restart nginx
11. Kokeile testiverkkotunnusta verkkoselaimessa:
http://esimerkkidomain.com


Ja näin sinulla pitäisi olla testisivu luotuna Nginxillä.

 

Was this answer helpful? 0 Users Found This Useful (0 Votes)