Laravel PHP Frameworkin asentaminen Nginxillä CentOS 8:ssa
Laravel on avoimen lähdekoodin, hyvin tunnettu ja moderni PHP-pohjainen verkkokehys, jossa on ilmeikäs, tyylikäs ja helposti ymmärrettävä syntaksi, jonka avulla on helppo rakentaa suuria, kestäviä verkkosovelluksia.
Sen tärkeimmät ominaisuudet sisältävät yksinkertaisen, nopean reititysmoottorin, tehokkaan riippuvuuden injektiosäiliön, useat taustat istuntojen ja välimuistin tallennusta varten, ilmeikäs ja intuitiivinen tietokanta ORM (Object-relational Mapping), vankka taustatöiden käsittely ja reaaliaikainen tapahtumalähetys.
Se käyttää myös työkaluja, kuten Composer – PHP-pakettien hallinta riippuvuuksien hallintaan ja Artisan – komentorivikäyttöliittymä verkkosovellusten rakentamiseen ja hallintaan.
Tässä artikkelissa opit asentamaan Laravel PHP -verkkokehyksen uusimman version CentOS 8 Linux-jakeluun.
Palvelinvaatimukset
Laravel-kehyksellä on seuraavat vaatimukset:
- PHP >= 7.2.5 näillä PHP-laajennuksilla OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype ja JSON.
- Säveltäjä – riippuvuuksien asentamiseen ja hallintaan.
Vaihe 1: Asenna LEMP Stack CentOS 8:aan
1. Aloita päivittämällä järjestelmäohjelmistopaketit ja asentamalla LEMP-pino (Linux, Nginx, MariaDB/MySQL ja PHP) käyttämällä seuraavia dnf-komentoja.
dnf update
dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd
2. Kun LEMP-asennus on valmis, sinun on käynnistettävä PHP-PFM, Nginx ja >MariaDB-palvelut käyttämällä seuraavia systemctl-komentoja.
systemctl start php-fpm nginx mariadb
systemctl enable php-fpm nginx mariadb
systemctl status php-fpm nginx mariadb
3. Seuraavaksi sinun on suojattava ja vahvistettava MariaDB-tietokantamoottori käyttämällä suojausskriptiä kuvan mukaisesti.
mysql_secure_installation
Suojaa palvelimen asennus vastaamalla seuraaviin kysymyksiin.
Enter current password for root (enter for none): Enter
Set root password? [Y/n] y
#set new root password Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
4. Jos sinulla on palomuuri-palvelu käynnissä, sinun on avattava palomuurin HTTP- ja HTTPS-palvelut. mahdollistaaksesi asiakaspyynnöt Nginx-verkkopalvelimelle.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload
5. Lopuksi voit varmistaa, että LEMP-pino on käynnissä selaimella järjestelmäsi IP-osoitteessa.
http://server-IP
Vaihe 2: PHP-FPM:n ja Nginxin määrittäminen ja suojaaminen
6. Käsitelläkseen pyyntöjä Nginx-verkkopalvelimelta PHP-FPM voi kuunnella Unix- tai TCP-socketissa, ja tämän määrittää listen-parametri /etc/php-fpm.d/www.conf-määritystiedostossa.
vi /etc/php-fpm.d/www.conf
Oletusarvoisesti se on määritetty kuuntelemaan Unix-liitännässä seuraavan kuvakaappauksen mukaisesti. Tässä oleva arvo määritetään myöhemmin Nginx-palvelinlohkotiedostossa.
7. Jos käytät Unix-liitäntää, sinun tulee myös määrittää sille oikeat omistusoikeudet ja käyttöoikeudet kuvakaappauksen mukaisesti. Poista seuraavien parametrien kommentit ja aseta niiden arvot käyttäjälle ja ryhmälle vastaamaan käyttäjää ja ryhmää, jossa Nginx toimii.
listen.owner = nginx
listen.group = nginx
listen.mode = 066
8. Määritä seuraavaksi myös järjestelmän laajuinen aikavyöhyke /etc/php.ini-määritystiedostossa.
vi /etc/php.ini
Etsi rivi ";date.timezone "
ja poista sen kommentti ja aseta sen arvo kuvakaappauksen mukaisesti (käytä arvoja, jotka koskevat aluettasi/mannerosaasi ja maatasi).
date.timezone = Africa/Kampala
9. Vähentääksesi riskiä, että Nginx välittää pyyntöjä haitallisilta käyttäjiltä, jotka käyttävät muita laajennuksia PHP-koodin suorittamiseen PHP-FPM:lle, poista seuraavan parametrin kommentti ja aseta sen arvoksi 0
.
cgi.fix_pathinfo=1
10. Mitä tulee edelliseen kohtaan, poista myös seuraavan parametrin kommentti /etc/php-fpm.d/www.conf-tiedostosta. Lue kommentti saadaksesi lisäselvitystä.
security.limit_extensions = .php .php3 .php4 .php5 .php7
Vaihe 3: Composerin ja Laravel PHP Frameworkin asentaminen
11. Asenna seuraavaksi Composer-paketti suorittamalla seuraavat komennot. Ensimmäinen komento lataa asennusohjelman ja suorittaa sen sitten PHP:llä.
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
12. Nyt kun Composer on asennettu, käytä sitä Laravel-tiedostojen ja riippuvuuksien asentamiseen seuraavasti. Korvaa omasivusto.com sen hakemiston nimellä, johon Laravel-tiedostot tallennetaan. Absoluuttinen polku (tai juuripolku Nginx-määritystiedostossa) on /var/www/html/mysite. .com.
cd /var/www/html/
composer create-project --prefer-dist laravel/laravel mysite.com
Jos kaikki menee hyvin prosessin aikana, sovellus tulee asentaa onnistuneesti ja avain tulee luoda seuraavan kuvakaappauksen mukaisesti.
13. Asennuksen aikana luotiin .env
-ympäristötiedosto ja myös tarvittava sovellus, joten sinun ei tarvitse luoda niitä manuaalisesti kuten ennen. Vahvista tämä suorittamalla pitkä lista laravelin juurihakemistosta ls-komennolla.
ls -la mysite.com/
14. Seuraavaksi sinun on määritettävä oikea omistajuus ja käyttöoikeudet tallennus-- ja bootstrap/cache-hakemistoihin, jotta Nginx-verkko voi kirjoittaa. palvelin.
chown -R :nginx /var/www/html/mysite.com/storage/
chown -R :nginx /var/www/html/mysite.com/bootstrap/cache/
chmod -R 0777 /var/www/html/mysite.com/storage/
chmod -R 0775 /var/www/html/mysite.com/bootstrap/cache/
15. Jos SELinux on käytössä palvelimellasi, sinun tulee myös päivittää tallennustilan ja bootstrap/cache suojauskonteksti. > hakemistoja.
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/storage(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/bootstrap/cache(/.*)?'
restorecon -Rv '/var/www/html/mysite.com'
Vaihe 4: Määritä Nginx-palvelinlohko Laravelille
16. Jotta Nginx voi alkaa palvella verkkosivustoasi tai sovellustasi, sinun on luotava sille palvelinlohko .conf
-tiedostoon kohdassa >/etc/nginx/conf.d/ hakemistosta kuvan mukaisesti.
vi /etc/nginx/conf.d/mysite.com.conf
Kopioi ja liitä tiedostoon seuraavat asetukset. Huomioi juuri- ja fastcgi_pass-parametrit.
server {
listen 80;
server_name mysite.com;
root /var/www/html/mysite.com/public;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm/www.sock;
}
location ~ /\.ht {
deny all;
}
}
17. Tallenna tiedosto ja tarkista suorittamalla, onko Nginx-määrityssyntaksi oikea.
nginx -t
18. Käynnistä sitten PHP-FPM- ja Nginx-palvelut uudelleen, jotta viimeaikaiset muutokset tulevat voimaan.
systemctl restart php-fpm
systemctl restart Nginx
Vaihe 5: Laravel-verkkosivuston käyttäminen verkkoselaimella
19. Pääset Laravel-verkkosivustolle osoitteessa mysite.com, joka ei ole täysin hyväksytty verkkotunnuksen nimi (FQDN) eikä sitä ole rekisteröity (käytetään vain testaustarkoituksiin) , käytämme paikallisen koneen /etc/hosts-tiedostoa paikallisen DNS:n luomiseen.
Suorita seuraava komento lisätäksesi palvelimen IP-osoitteen ja toimialueen vaadittuun tiedostoon (korvaa arvo asetustesi mukaan).
ip add #get remote server IP
echo "10.42.0.21 mysite.com" | sudo tee -a /etc/hosts
20. Avaa seuraavaksi verkkoselain paikallisella koneella ja käytä navigointiin seuraavaa osoitetta.
http://mysite.com
Olet onnistuneesti ottanut Laravelin käyttöön CentOS 8:ssa. Voit nyt aloittaa verkkosivustosi tai verkkosovelluksesi kehittämisen Laravelin avulla. Lisätietoja on Laravelin aloitusoppaassa.