Laravel PHP Frameworkin asentaminen Nginxin kanssa CentOS 8: een
Laravel on avoimen lähdekoodin, tunnettu ja moderni PHP-pohjainen verkkokehys, jolla on ilmeikäs, tyylikäs ja helposti ymmärrettävä syntaksin avulla, mikä tekee suurten, vankkojen verkkosovellusten rakentamisesta helppoa.
Sen tärkeimpiä ominaisuuksia ovat yksinkertainen, nopea reititysmoottori, tehokas riippuvuussyöttösäiliö, useita taustoja istunto- ja välimuistitallennukseen, ilmeikäs ja intuitiivinen ORM-tietokanta (Object-relational Mapping), vankka taustatyön käsittely ja reaaliaikainen tapahtumalähetys.
Lisäksi se käyttää työkaluja, kuten Composer - PHP-paketinhallinta riippuvuuksien hallintaan ja Artisan - komentoriviliittymä verkkosovellusten rakentamiseen ja hallintaan.
Tässä artikkelissa opit asentamaan Laravel PHP -verkkokehyksen uusimman version CentOS 8 Linux -jakeluun.
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: LEMP-pinon asentaminen CentOS 8: een
1. Aloita päivittämällä järjestelmäohjelmistopaketit ja asentamalla LEMP-pino (Linux, Nginx, MariaDB/MySQL ja PHP) seuraavilla dnf-komennoilla.
# 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 seuraavilla systemctl-komennoilla.
# systemctl start php-fpm nginx mariadb # systemctl enable php-fpm nginx mariadb # systemctl status php-fpm nginx mariadb
3. Seuraavaksi sinun on suojattava ja kovetettava MariaDB-tietokantamoottori käyttämällä suojauskoodia kuvan mukaisesti.
# mysql_secure_installation
Varmista 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 palomuuripalvelu on käynnissä, sinun on avattava palomuurissa HTTP- ja HTTPS-palvelu, jotta asiakaspyynnöt Nginx-verkkopalvelimelle voidaan ottaa käyttöön.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --zone=public --permanent --add-service=https # firewall-cmd --reload
5. Lopuksi voit vahvistaa, että LEMP-pinoasi käytetään selaimella järjestelmän IP-osoitteessa.
http://server-IP
Vaihe 2: PHP-FPM: n ja Nginxin määrittäminen ja suojaaminen
6. Käsittelemään Nginx-verkkopalvelimelta tulevia pyyntöjä PHP-FPM voi kuunnella Unix- tai TCP-liitännässä, ja tämä määritetään /etc/php-fpm.d/www.conf -asetustiedoston kuunteluparametrilla.
# 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 Nginx-palvelimen estotiedostossa myöhemmin.
7. Jos käytät Unix-liitäntää, sinun on myös asetettava sille oikea omistajuus ja käyttöoikeudet kuvakaappauksen mukaisesti. Poista seuraavien parametrien komento ja aseta niiden arvot käyttäjälle ja ryhmälle vastaamaan käyttäjää ja ryhmää. Nginx toimii nimellä.
listen.owner = nginx listen.group = nginx listen.mode = 066
8. Aseta seuraavaksi myös koko järjestelmän aikavyöhyke /etc/php.ini -asetustiedostossa.
# vi /etc/php.ini
Etsi rivi “; date.timezone”
ja poista kommentti, aseta sitten arvo kuvakaappauksen osoittamalla tavalla (käytä alueellesi/mantereellesi ja maallesi soveltuvia arvoja).
date.timezone = Africa/Kampala
9. Pienennä riskiä siitä, että Nginx välittää pyyntöjä haitallisilta käyttäjiltä, jotka käyttävät muita laajennuksia suorittamaan PHP-koodin PHP-FPM: lle, purkamalla seuraavan parametrin kommentti ja asettamalla sen arvoksi 0
.
cgi.fix_pathinfo=1
10. Kommentoi myös edelliseen kohtaan suhteessa seuraavaa parametria tiedostossa /etc/php-fpm.d/www.conf. Lue kommentti saadaksesi lisätietoja.
security.limit_extensions = .php .php3 .php4 .php5 .php7
Vaihe 3: Asenna Composer ja Laravel PHP Framework
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, asenna se Laravel-tiedostojen ja riippuvuuksien avulla seuraavasti. Korvaa mysite.com sen hakemiston nimellä, johon Laravel-tiedostot tallennetaan. Absoluuttinen polku (tai juuripolku Nginx-määritystiedostossa) on /var/www/html/omasivusto.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 luoda avain seuraavan kuvakaappauksen mukaisesti.
13. Asennuksen aikana luotiin .env
-ympäristötiedosto ja luotiin myös vaadittu sovellus, joten sinun ei tarvitse luoda niitä manuaalisesti kuten aiemmin. Vahvista tämä suorittamalla pitkä luettelo laravel-juurihakemistosta käyttämällä ls-komentoa.
# ls -la mysite.com/
14. Seuraavaksi sinun on määritettävä tallennus- ja käynnistyshihna-/välimuistihakemistojen oikea omistajuus ja käyttöoikeudet Nginx-verkkopalvelimen kirjoitettaviksi.
# 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, päivitä myös tallennus- ja käynnistyshihna-/välimuistihakemistojen suojauskonteksti.
# 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 voisi aloittaa verkkosivustosi tai sovelluksesi palvelun, sinun on luotava sille palvelinlohko .conf
-tiedostoon hakemistoon /etc/nginx/conf.d/, kuten näytetään.
# vi /etc/nginx/conf.d/mysite.com.conf
Kopioi ja liitä seuraava kokoonpano tiedostoon. Ota huomioon root- 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 Nginx-kokoonpanosyntaksi oikein.
# 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ö verkkoselaimella
19. Pääsetksesi Laravel-verkkosivustolle osoitteessa mysite.com, joka ei ole täysin pätevä verkkotunnus (FQDN) eikä sitä ole rekisteröity (sitä käytetään vain testaustarkoituksiin), käytämme/etc/hosts-tiedostoa paikallisella koneellasi luoda paikallinen DNS.
Suorita seuraava komento lisätäksesi palvelimen IP-osoite ja toimialue vaadittavaan tiedostoon (korvaa arvo asetusten mukaan).
# ip add #get remote server IP $ echo "10.42.0.21 mysite.com" | sudo tee -a /etc/hosts
20. Avaa seuraavaksi selain paikallisella koneella ja käytä seuraavaa osoitetta navigoidaksesi.
http://mysite.com
Olet asentanut Laravelin onnistuneesti CentOS 8: een. Voit nyt alkaa kehittää verkkosivustoasi tai verkkosovellustasi Laravelin avulla. Lisätietoja on Laravelin aloitusoppaassa.