Weboldal keresés

A Laravel PHP Framework telepítése az Nginx segítségével a CentOS 8 rendszeren


A Laravel egy nyílt forráskódú, jól ismert és modern PHP-alapú webes keretrendszer kifejező, elegáns és könnyen érthető szintaxissal, amely megkönnyíti a nagy, robusztus webalkalmazások készítését.

Főbb jellemzői közé tartozik az egyszerű, gyors útválasztó motor, a nagy teljesítményű függőségi befecskendező tároló, a munkamenetek és a gyorsítótár tárolására szolgáló több háttérrendszer, a kifejező és intuitív adatbázis ORM (Object-relational Mapping), a robusztus háttérfeladat-feldolgozás és a valós idejű eseményközvetítés.

Ezenkívül olyan eszközöket használ, mint a Composer – egy PHP-csomagkezelő a függőségek kezelésére, és az Artisan – egy parancssori felület a webalkalmazások létrehozásához és kezeléséhez.

Ebből a cikkből megtudhatja, hogyan telepítheti a Laravel PHP webes keretrendszer legújabb verzióját a CentOS 8 Linux disztribúcióra.

Szerverkövetelmények

A Laravel keretrendszer a következő követelményekkel rendelkezik:

  • PHP >= 7.2.5 ezekkel az OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype és JSON PHP kiterjesztésekkel.
  • Composer – a függőségek telepítéséhez és kezeléséhez.

1. lépés: A LEMP Stack telepítése a CentOS 8 rendszerben

1. A kezdéshez frissítse a rendszerszoftver-csomagokat, és telepítse a LEMP verem (Linux, Nginx, MariaDB/MySQL és PHP) a következő dnf parancsok használatával.

dnf update
dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd

2. Amikor a LEMP telepítése befejeződött, el kell indítania a PHP-PFM, Nginx és >MariaDB szolgáltatások a következő systemctl parancsok használatával.

systemctl start php-fpm nginx mariadb
systemctl enable php-fpm nginx mariadb
systemctl status php-fpm nginx mariadb

3. Ezután biztonságossá kell tennie és meg kell erősítenie a MariaDB adatbázismotort a biztonsági szkript segítségével, ahogy az ábra mutatja.

mysql_secure_installation

A kiszolgáló telepítésének biztonsága érdekében válaszoljon a következő kérdésekre.

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. Ha fut a tűzfal szolgáltatás, akkor meg kell nyitnia a HTTP és a HTTPS szolgáltatást a tűzfalon. hogy engedélyezze az ügyfélkéréseket az Nginx webszerverhez.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

5. Végül megerősítheti, hogy a LEMP verem fut egy böngészővel a rendszere IP-címén.

http://server-IP

2. lépés: A PHP-FPM és az Nginx konfigurálása és biztosítása

6. Az Nginx webszervertől érkező kérések feldolgozásához a PHP-FPM képes Unix vagy TCP socketre figyelni, és ezt a listen paramétert az /etc/php-fpm.d/www.conf konfigurációs fájlban.

vi /etc/php-fpm.d/www.conf

Alapértelmezés szerint úgy van beállítva, hogy Unix-aljzaton hallgatjon, amint az a következő képernyőképen látható. Az itt található érték a későbbiekben az Nginx szerver blokkfájljában lesz megadva.

7. Ha Unix socketet használ, akkor a megfelelő tulajdonjogot és jogosultságokat is be kell állítania a képernyőképen látható módon. Törölje a következő paraméterek megjegyzését, és állítsa be értékeiket a felhasználóra és a csoportra, hogy megfeleljenek az Nginx néven futó felhasználónak és csoportnak.

listen.owner = nginx
listen.group = nginx
listen.mode = 066

8. Ezután állítsa be a rendszerszintű időzónát is az /etc/php.ini konfigurációs fájlban.

vi /etc/php.ini

Keresse meg a „;date.timezone ” sort, és törölje a megjegyzéseket, majd állítsa be az értékét a képernyőképen látható módon (az Ön régiójára/kontinensére és országára vonatkozó értékeket használjon).

 
date.timezone = Africa/Kampala

9. Annak kockázatának csökkentése érdekében, hogy az Nginx olyan rosszindulatú felhasználóktól érkező kéréseket továbbítson, akik más kiterjesztést használnak PHP-kód futtatására a PHP-FPM-nek, törölje a következő paraméter megjegyzését, és állítsa az értékét < értékre.0.

cgi.fix_pathinfo=1

10. Az előző ponthoz kapcsolódóan törölje a következő paraméter megjegyzését is az /etc/php-fpm.d/www.conf fájlból. Olvassa el a megjegyzést további magyarázatért.

security.limit_extensions = .php .php3 .php4 .php5 .php7

3. lépés: A Composer és a Laravel PHP Framework telepítése

11. Ezután telepítse a Composer csomagot a következő parancsok futtatásával. Az első parancs letölti a telepítőt, majd PHP segítségével futtatja.

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

12. Most, hogy a Composer telepítve van, használja a Laravel-fájlok és függőségek telepítéséhez az alábbiak szerint. Cserélje ki a mysite.com címet annak a könyvtárnak a nevére, ahol a Laravel-fájlokat tárolni fogja, az abszolút elérési út (vagy az Nginx konfigurációs fájljában a gyökérútvonal) a következő lesz: /var/www/html/mysite .comon.

cd /var/www/html/
composer create-project --prefer-dist laravel/laravel mysite.com

Ha minden jól megy a folyamat során, akkor az alkalmazást sikeresen telepíteni kell, és létre kell hozni egy kulcsot, ahogy az a következő képernyőképen látható.

13. A telepítés során létrejött a .env környezetfájl és a szükséges alkalmazás is, így nem kell manuálisan létrehozni őket, mint korábban. Ennek megerősítéséhez futtasson egy hosszú listát a laravel gyökérkönyvtárról az ls paranccsal.

ls -la mysite.com/

14. Ezután be kell állítania a megfelelő tulajdonjogot és engedélyeket a tárhely és a bootstrap/cache könyvtárban, hogy az Nginx web írhassa. szerver.

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. Ha a SELinux engedélyezve van a szerverén, frissítenie kell a tárhely és a bootstrap/cache biztonsági környezetét is. > könyvtárakat.

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'

4. lépés: Konfigurálja az Nginx szerverblokkot a Laravel számára

16. Ahhoz, hogy az Nginx elkezdhesse kiszolgálni webhelyét vagy alkalmazását, létre kell hoznia egy szerverblokkot egy .conf fájlban a alatt. >/etc/nginx/conf.d/ könyvtárat, ahogy az ábra mutatja.

vi /etc/nginx/conf.d/mysite.com.conf

Másolja és illessze be a következő konfigurációt a fájlba. Vegye figyelembe a gyökér és a fastcgi_pass paramétereket.

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. Mentse a fájlt, és futással ellenőrizze, hogy az Nginx konfigurációs szintaxis megfelelő-e.

nginx -t

18. Ezután indítsa újra a PHP-FPM és az Nginx szolgáltatásokat, hogy a legutóbbi módosítások életbe lépjenek.

systemctl restart php-fpm
systemctl restart Nginx

5. lépés: A Laravel webhely elérése webböngészőből

19. A Laravel webhely eléréséhez a mysite.com címen, amely nem teljesen minősített domain név (FQDN), és nincs regisztrálva (csak tesztelési célokra használják) , a helyi gépén található /etc/hosts fájlt fogjuk használni a helyi DNS létrehozásához.

Futtassa a következő parancsot, hogy hozzáadja a szerver IP-címét és tartományát a kívánt fájlhoz (cserélje ki az értéket a beállításoknak megfelelően).

ip add		#get remote server IP
echo "10.42.0.21  mysite.com" | sudo tee -a /etc/hosts

20. Ezután nyisson meg egy webböngészőt a helyi gépen, és használja a következő címet a navigációhoz.

http://mysite.com

Sikeresen telepítette a Laravelt a CentOS 8 rendszeren. Mostantól elkezdheti fejleszteni webhelyét vagy webes alkalmazását a Laravel segítségével. További információkért lásd a Laravel Kezdő lépések útmutatóját.