Kaip įdiegti LEMP (Nginx, MariaDB ir PHP) paketą „Ubuntu 18.04 LTS“?

Įvadas

„LEMP Stack“ yra galingas programų rinkinys, naudojamas kuriant ir diegiant dinamiškas interneto programas ir puslapius. Tradiciškai LEMP kaminą sudaro Nginx, MySQL ir PHP. Tačiau dėl modulinės šio kamino architektūros šiuos komponentus galima pakeisti ir pakeisti vienodo funkcionalumo komponentais.


Ši instrukcija padės įdiegti LEMP (Nginx, MariaDB ir PHP) savo Ubuntu 18.04 serveryje.

Jei turite VPS prieglobą ar dedikuotą serverio žiniatinklio prieglobą su įdiegta „Ubuntu 18.04“, pradėkime!

1 žingsnis – „Nginx“ diegimas

Pirmasis žingsnis diegiant LEMP kaminą yra Nginx žiniatinklio serverio įdiegimas:

$ Sudo apt-get atnaujinimas
$ Sudo apt install nginx

Baigę diegti, paleiskite žemiau esančią komandą, kad paleistumėte „Nginx“:

$ Sudo systemctl paleidimas nginx

Tada patvirtinkite ką tik įdiegto žiniatinklio serverio būseną:

$ Sudo systemctl status nginx

Tai suteiks jums žemiau pateiktą informaciją:

● „nginx.service“ – didelio našumo žiniatinklio serveris ir atvirkštinis tarpinis serveris
Įkelta: įkelta (/lib/systemd/system/nginx.service; įgalinta; pardavėjo iš anksto nustatyta: įgalinta)
Aktyvus: aktyvus (veikia) nuo 2018-10-29 07:58:38 EDT; Prieš 57 metus
Dokumentai: vyras: nginx (8)
Procesas: 1836 ExecStart = / usr / sbin / nginx -g demonas įjungtas; pagrindinis procesas; (kodas = baigta, būsena = 0 / SĖKMĖ)
Procesas: 1823 ExecStartPre = / usr / sbin / nginx -t -q -g demonas įjungtas; pagrindinis procesas; (kodas = baigta, būsena = 0 / SĖKMĖ)
Pagrindinis PID: 1839 („nginx“)
Uždaviniai: 2 (riba: 2322)
„CGroup“: /system.slice/nginx.service
1839 „nginx“: pagrindinis procesas / usr / sbin / nginx -g demonas įjungtas; pagrindinis procesas;
1841 nginx: darbuotojo procesas

Ugniasienės nustatymas

Jei „Ubuntu“ serveryje suaktyvinta UFW ugniasienė, turėtumėte ją sureguliuoti, kad būtų leista naudoti „Nginx“ žiniatinklio serverį. Turėtumėte įgalinti labiausiai draudžiamą profilį, kad įgalintumėte srautą, kurio norite per UFW.

Pirmiausia paleiskite žemiau esančią komandą, kad pamatytumėte programas, kurių profilis yra įdiegtas jūsų serveryje:

$ Sudo ufw programų sąrašas

Tai suteiks jums tokią išvadą:

Galimos programos
Apache
„Apache Full“
„Apache Secure“
„Nginx Full“
„Nginx“ HTTP
„Nginx“ HTTPS
„OpenSSH“

Remiantis aukščiau esančia išvestimi, jos aiškūs „OpenSSH“ ir „Nginx“ įdiegė UFW profilius jūsų „Ubuntu“ sistemose. Norėdami įjungti HTTP ir HTTP srautus, vykdykite žemiau pateiktą komandą:

$ Sudo ufw leisti"„Nginx Full“"

Patikrinkite UFW būseną:

Būsena: aktyvi

Į veiksmą nuo
—                         ——      —-
„OpenSSH ALLOW“ bet kur
„Nginx HTTP ALLOW“ bet kur
„OpenSSH“ (v6) leidžiama visur (v6)
„Nginx“ HTTP (v6) VISAI leidžiama bet kur (6 versija)

Viskas! Dabar galite paleisti „Nginx“ serverio bandymo puslapį. Eikite į savo mėgstamą naršyklę ir ieškokite http: // IP-adresas / arba http: // localhost /

Jei viskas gerai, gausite šį puslapį:

Kaip įdiegti „Nginx“ naudojant LEMP kaminą „Ubuntu“ 18.04

2 žingsnis – „MariaDB“ diegimas

Įdiegę žiniatinklio serverį, kitas žingsnis yra įdiegti duomenų bazės serverį. Kaip minėta, įdiegsime „MariaDB“ serverį, kuris yra geriausias „MySQL“ duomenų bazės pakaitalas.

Norėdami įdiegti „MariaDB“ duomenų bazės serverį iš oficialios „Ubuntu“ saugyklos, vykdykite žemiau pateiktą komandą:

$ sudo apt įdiegti mariadb-server mariadb-klientas

Tačiau šiose saugyklose rasta „MariaDB“ gali būti ne pati naujausia versija. Dėl šios priežasties norėdami įdiegti naujausią „MariaDB“ duomenų bazės serverį, turite jį įdiegti iš oficialios „MariaDB“ saugyklos.

Norėdami tai padaryti, pirmiausia paleiskite žemiau esančią komandą, kad pridėtumėte saugyklą, tada importuokite diegimo raktus:

$ sudo apt-get įdiegti programinę įrangą-properties-common
$ sudo apt-key adv –recv-keys –keyserver hkp: //keyserver.ubuntu.com: 80 0xF1656F24C74CD1D8
$ sudo add-apt-repository ‘deb [arch = amd64, arm64, ppc64el] http://sgp1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic main’

Tada paleiskite žemiau esančią komandą, kad atnaujintumėte paketo rodyklę, kad ji priimtų saugyklą, tada įdiekite duomenų bazės serverį; „MariaDB“:

$ Sudo apt atnaujinimas
$ Sudo apt įdiegti mariadb-serverį

Dabar galite vykdyti žemiau pateiktą komandą, kad patvirtintumėte įdiegtą „MariaDB“ versiją:

$ Sudo systemctl status mysql

Tai suteiks jums išvestį, panašią į žemiau pateiktą:

● „mariadb.service“ – „MariaDB 10.3.10“ duomenų bazės serveris
Įkelta: įkelta (/lib/systemd/system/mariadb.service; įgalinta; pardavėjo iš anksto nustatyta: įgalinta)
Aktyvus: aktyvus (veikia) nuo 2018-10-2405 trečiadienio: 39: 11 EDT; Prieš 2min 57s
Dokumentai: vyras: mysql (8)
https://mariadb.com/kb/en/library/systemd/
Pagrindinis PID: 3428 („MySQL“)
Būsena:"Dabar imamės SQL užklausų…"
Uždaviniai: 32 (riba: 1152)
„CGroup“: /system.slice/mariadb.service
└─994 / usr / sbin / mysqld

MariaDB užtikrinimas

Norėdami apsaugoti MariaDB, paleiskite žemiau pateiktą komandą:

$ Mysql_secure_installation

Jums bus pasiūlyta įvesti dabartinį „root“ slaptažodį. Kadangi ką tik įdiegėte „MariaDB“, paspauskite ENTER, kad tęstumėte. Tai pateiks jums keletą raginimų su klausimais, įskaitant:

Nustatyti pagrindinį slaptažodį? [Y / n] įveskite Y ir paspauskite ENTER. Įveskite ir iš naujo įveskite norimą slaptažodį ir paspauskite „Enter“, kad jį įgyvendintumėte.
Pašalinti anoniminius vartotojus? [Taip / Ne] Taip
Neleisti prisijungti prie šaknies nuotoliniu būdu? [Taip / Ne] Taip
Pašalinti bandymų duomenų bazę ir prieigą prie jos? [Taip / Ne] Taip
Iš naujo įkelti privilegijų lenteles dabar? [Taip / Ne] Taip

Kai bus atsakyta į visus klausimus, jūsų MariaDB diegimas bus saugus.

3 žingsnis – PHP įdiegimas

Vykdykite žemiau pateiktą komandą, norėdami įdiegti PHP:

$ sudo apt-get įdiegti php-fpm php-mysql

Įdiegus PHP, kitas žingsnis yra jo užtikrinimas. Tai galima padaryti redaguojant php.ini byla. Pirmiausia paleiskite žemiau esančią komandą, kad atidarytumėte šį failą:

$ sudo nano /etc/php/7.2/fpm/php.ini

Raskite šią eilutę ; cgi.fix_pathinfo = 1 ir 1 pakeiskite 0:

cgi.fix_pathinfo = 0

Išsaugokite pakeitimus ir uždarykite nano redaktorių, tada paleiskite žemiau esančią komandą, kad paleistumėte PHP-FPM:

$ Sudo systemctl paleisti php7.2-fpm

Tada išduokite žemiau esančią komandą, kad patikrintumėte PHP-FPM paslaugos būseną:

$ Sudo systemctl būsena php7.2-fpm

Tai suteiks jums išvestį, panašią į žemiau pateiktą:

● php7.2-fpm.service – „PHP 7.2 FastCGI Process Manager“
Įkelta: įkelta (/lib/systemd/system/php7.2-fpm.service; įgalinta; pardavėjo iš anksto nustatyta: įgalinta)
Aktyvus: aktyvus (veikia) nuo pirmadienio 2018-10-2908: 12: 46 EDT; Prieš 7 s
Dokumentai: vyras: php-fpm7.2 (8)
Pagrindinis PID: 29535 („php-fpm7.2“)
Būsena:"Procesas aktyvus: 0, tuščiąja eiga: 2, užklausa: 0, lėtai: 0, srautas: 0req / se "
Uždaviniai: 3 (riba: 1152)
„CGroup“: /system.slice/php7.2-fpm.service
…………

„Nginx“ konfigūravimas naudoti PHP-FPM

Pirmiausia paleiskite žemiau esančią komandą, kad atidarytumėte „Nginx“ virtualiojo kompiuterio failą:

$ sudo nano / etc / nginx / site-available / default

Raskite serverio dalį ir pridėkite savo „Ubuntu 18.04“ serverio IP adresą arba FQDN: Be to, patikrinkite, ar indeksas.php pridedama eilutė:

[…]
serveris {
klausytis 80 numatytasis serveris;
klausytis [::]: 80 numatytasis serveris;

[…]

šaknis / var / www / html;

# Įtraukite index.php į sąrašą, jei naudojate PHP
indeksas index.php index.html index.htm index.nginx-debian.html;

serverio_pavadinimas 192.168.225.22;
[…]

Kitas, suraskite # vieta ~ .php $ skyrių ir sureguliuokite linijas, kaip paryškinta žemiau:

vieta ~ .php $ {
įtraukti fragmentus / fastcgi-php.conf;
#
## Su php-fpm (arba kitais unix lizdais):
„fastcgi_pass unix“: /run/php/php7.2-fpm.sock;
## Su php-cgi (arba kitais tcp lizdais):
# Fastcgi_pass 127.0.0.1:9000;
}
# Uždrausti prieigą prie .htaccess failų, jei Apache dokumento šaknis
# Sutinka su nginx
#
vieta ~ /.ht {
paneigti visus;
}
}

Išsaugokite pakeitimus ir uždarykite nano redaktorių.

Dabar paleiskite žemiau esančią komandą ir patikrinkite failą, esantį kataloge / paleisti / php:

USD ls / paleisti / php /

Tai suteiks jums žemiau pateiktą informaciją:

php7.2-fpm.pidphp7.2-fpm.sock

Tame kataloge saugomas failas yra php7.2-fpm.pid php7.2-fpm.sock ir ne php7.0-fpm.sock kaip išvardytos skiltyje Vietos ~ .php $. Visada įsitikinkite, kad idealus vardas yra paminėtas vieta ~ .php $ direktyva.

Tada paleiskite žemiau esančią komandą, kad patikrintumėte „Nginx“ konfigūracijos failą dėl galimų sintaksės klaidų:

$ Sudo nginx -t

Jei viskas gerai, turėtumėte gauti žemiau pateiktą informaciją:

„nginx“: konfigūracijos failas /etc/nginx/nginx.confsyntaxis gerai
nginx: konfigūracijos failo /etc/nginx/nginx.conf testas sėkmingas

Dabar paleiskite „Nginx“ paslaugą iš naujo:

$ Sudo systemctl paleisti „nginx“

Norėdami patikrinti savo PHP konfigūraciją per interneto naršyklę, pirmiausia paleiskite žemiau pateiktą komandą ir sukurkite info.php failą dokumento šakniniame aplanke.

$ sudo nano /var/www/html/info.php

Tada pridėkite žemiau esantį turinį į šį failą:

<?php
phpinfo ();
?>

Išsaugokite pakeitimus ir uždarykite nano redaktorių, paleiskite „Nginx“ iš naujo, kad įgyvendintumėte šiuos pakeitimus.

Dabar eikite į savo mėgstamą naršyklę ir ieškokite http: //IP-address/info.php. Jei PHP veikia tinkamai, turėtumėte gauti žemiau pateiktą rezultatą:

Kaip įdiegti „Nginx“ naudojant LEMP kaminą „Ubuntu“ 18.04

PHP modulių diegimas

Dabar, kai turite visiškai veikiančią PHP paslaugą, įdiekite daugiau PHP modulių, kad išplėtotumėte jo funkcionalumą. Jei nesate tikri, kurį PHP modulį norite įdiegti, paleiskite žemiau esančią komandą ir peržiūrėkite galimus modulius:

$ sudo apt-cachesearch php- | mažiau

Tai suteiks jums visų PHP modulių, kuriuos galima įdiegti jūsų Ubuntu 18.04 serveryje, išvestį. Slinkite aukštyn ir žemyn, kad tiksliai nustatytumėte modulį, kurį norite įdiegti. Komanda, naudojama PHP moduliams įdiegti, yra tokio formato:

$ sudo apt-get įdiegti "modulio pavadinimas"

Pavyzdžiui, norint įdiegti php-gd, paleiskite komandą:

$ sudo apt-get įdiegti php-gd

Kita vertus, norėdami įdiegti visus galimus PHP modulius, paleiskite komandą:

$ sudo apt-get install php *

Jei norite gauti daugiau informacijos apie PHP modulį, paleiskite komandą:

$ sudo apt-cache šou "modulio pavadinimas"

Įdiegę papildomus PHP modulius, paleiskite žemiau esančią komandą iš naujo paleiskite „Nginx“ serverį:

$ Sudo systemctl paleisti „nginx“

Išvada

Viskas! Savo „Ubuntu 18.04“ serveryje įdiegėte „LEMP Stack“. Dabar galite įgyvendinti savo interneto programas ir tinklalapius naudodami naujai įdiegtą LEMP žiniatinklio rinkinį.

Peržiūrėkite šias 3 populiariausias „Linux“ prieglobos paslaugas

„FastComet“

Pradinė kaina:
2,95 USD


Patikimumas
9.7


Kainodara
9.5


Draugiškas vartotojui
9.7


Palaikymas
9.7


funkcijos
9.6

Skaitykite apžvalgas

Apsilankykite „FastComet“

„Hostinger“

Pradinė kaina:
0,99 USD


Patikimumas
9.3


Kainodara
9.3


Draugiškas vartotojui
9.4


Palaikymas
9.4


funkcijos
9.2

Skaitykite apžvalgas

Apsilankykite „Hostinger“

„ChemiCloud“

Pradinė kaina:
2,76 USD


Patikimumas
10


Kainodara
9.9


Draugiškas vartotojui
9.9


Palaikymas
10


funkcijos
9.9

Skaitykite apžvalgas

Apsilankykite „ChemiCloud“

Susiję patarimų straipsniai

  • Kaip įdiegti PHP7.2 „Ubuntu 18.04“
    tarpinis
  • Kaip įdiegti „OpenCart“ „Ubuntu 18.04“ serveryje arba VPS su „Apache“, „MariaDB“ ir „PHP 7“
    tarpinis
  • Kaip įdiegti „Selfoss“ „CentOS 7 Linux VPS“
    tarpinis
  • Kaip įdiegti „Apache“, „MariaDB“ ir „PHP“ („LAMP stack“) Ubuntu 18.04
    tarpinis
  • Kaip įdiegti LEMP („Linux“, „Nginx“, „MySQL“, „PHP“) kaminą Ubuntu 18.04 VPS arba skirtame serveryje
    tarpinis
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me