Weboldal keresés

A Laravel PHP Framework telepítése az Nginx segítségével az Ubuntu 20.04 rendszeren


A Laravel a legnépszerűbb, ingyenes és nyílt forráskódú PHP keretrendszer a világon, amely kifejező és elegáns szintaxisáról ismert. A Laravel hozzáférhető, hatékony, és a legjobb webfejlesztő eszközöket kínálja a nagy, robusztus és modern alkalmazásokhoz.

Ebből a cikkből megtudhatja, hogyan telepítheti a Laravel PHP-keretrendszert az Nginx webszerveren futó Ubuntu 20.04 szerverre.

Előfeltételek

  • A LEMP Stack telepítése a PhpMyAdmin segítségével az Ubuntu 20.04-ben

1. lépés: A szükséges PHP modulok telepítése

Miután beállította a LEMP veremet az Ubuntu 20.04 kiszolgálón a fenti linken található útmutatóban leírtak szerint, telepítenie kell a Laravel által igényelt további PHP-bővítményeket az alábbiak szerint:

sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer

2. lépés: Adatbázis létrehozása a Laravel számára

Ezután létre kell hoznia egy MySQL adatbázist a Laravel alkalmazáshoz. Tehát jelentkezzen be a mysql parancsértelmezőjébe, és hozza létre az adatbázist az alábbiak szerint.

sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

3. lépés: A Composer telepítése az Ubuntu 20.04-be

A Laravel a composer (a PHP függőségi kezelője) segítségével kezeli függőségeit. Ezért a Laravel használata előtt győződjön meg arról, hogy a Composer telepítve van a rendszeren az ábrán látható módon.

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

4. lépés: A Laravel telepítése az Ubuntu 20.04-be

A composer telepítése után használja a Laravel fájlok telepítéséhez. Lépjen be a /var/www/html könyvtárba, ahol a webfájlokat tárolja, majd telepítse a Laravel programot a zeneszerző segítségével az ábrán látható módon. Ne felejtse el lecserélni az example.com címet annak a könyvtárnak a nevére, ahol a Laravel fájlokat tárolni fogja.

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

5. lépés: A Laravel konfigurálása az Ubuntu 20.04-ben

Az új Laravel telepítés tartalmának listázásához futtassa a következő ls parancsot. Észre fogja venni, hogy egy .env fájl automatikusan létrejött, amelyet korábban manuálisan kellett létrehozni.

ls -la /var/www/html/example.com/

Ezután állítsa be a megfelelő engedélyeket a Laravel könyvtárban az alábbiak szerint.

sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/

Ezután a Laravel egy alkalmazáskulcsot használ a felhasználói munkamenetek és más titkosított adatok védelmére. Az alapértelmezett .env alapértelmezett alkalmazáskulcsot tartalmaz, de biztonsági okokból újat kell létrehoznia a laravel telepítéséhez.

sudo php artisan key:generate

A generált kulcs hozzá lesz fűzve az .env fájlhoz az APP_KEY értékeként. A hozzáfűzött kulcsot a grep paranccsal tekintheti meg.

grep -i APP_Key /var/www/html/example.com/.env

A következő képernyőképen látható módon be kell állítania a Laravel adatbázis-kapcsolat részleteit is a .env fájlban.

sudo nano /var/www/html/example.com/.env

6. lépés: Az NGINX konfigurálása a Laravel alkalmazás kiszolgálására

Ahhoz, hogy az NGINX kiszolgálhassa az új alkalmazást, létre kell hoznia egy szerverblokkot az NGINX konfiguráción belül az /etc/nginx/sites-available/ könyvtárban.

sudo nano /etc/nginx/sites-available/example.com.conf

Az alábbi konfigurációban frissítse a gyökér direktívát a Laravel alkalmazás nyilvános könyvtárára, és ügyeljen arra, hogy a www.example.com címet a webhelye domain nevére cserélje az ábrán látható módon.

Ezenkívül állítsa be, hogy a fastcgi_pass direktíva arra a médiumra mutasson, amelyen a PHP-FPM kéréseket figyel (például fastcgi_pass unix:/run/php/php7.4 -fpm.sock):

server{
        server_name www.example.com;
        root        /var/www/html/example.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/php7.4-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

Mentse el a fájlt, majd engedélyezze a Laravel webhely konfigurációját úgy, hogy létrehoz egy hivatkozást a /etc/nginx/sites-available/example.com.conf és az /etc/nginx/sites-enabled/ oldalra. könyvtárba. Ezenkívül távolítsa el az alapértelmezett szerverblokk-konfigurációt.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

Ezután ellenőrizze, hogy az NGINX konfigurációs szintaxis helyes-e a következő parancs futtatásával a szolgáltatás újraindítása előtt.

sudo nginx -t
sudo systemctl restart nginx

7. lépés: A Laravel alkalmazás elérése webböngészőből

Ebben a szakaszban tesztelnie kell, hogy a Laravel telepítése megfelelően működik-e, és hogy elérhető-e böngészőből. Az áldomain, example.com használatához használjuk a helyi számítógépen található /etc/hosts fájlt a helyi DNS létrehozásához.

Futtassa a következő parancsokat a Laravel szerver IP-címének lekéréséhez, és adja hozzá az /etc/hosts fájlhoz (cserélje ki az értéket a beállításoknak megfelelően).
$ip hirdetés
$echo „192.168.56.11 example.com” | sudo tee -a /etc/hosts

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

http://www.example.com/

Most, hogy a Laravel telepítve van, megkezdheti webalkalmazásának vagy webhelyének felépítését. További információkért lásd a Laravel dokumentációját.