GNU/Linux >> Znalost Linux >  >> Ubuntu

Instalace Laravel na Ubuntu pro Nginx

O instalaci Laravelu pro servery Ubuntu založené na Apache jsme již hovořili v našem posledním tutoriálu. Tento tutoriál vám ukáže, jak nainstalovat Laravel PHP framework na instalaci serveru Nginx.

Předběžné požadavky

Jako vždy byste se měli před pokračováním ujistit, že je server dobře aktualizovaný.

sudo apt-get update
sudo apt-get upgrade

Tento tutoriál je založen na předpokladu, že již máte nastaven server založený na Ubuntu. Také se ujistěte, že máte nainstalovaný Git. Pokud ne, můžete tak učinit podle našeho průvodce.

Instalace Nginx

Instalace serveru Nginx je jednoduchá a přímočará. Tak pojďme na to.

sudo apt-get install nginx

Instalace PHP-FPM

PHP nefunguje s Nginx stejným způsobem jako s Apache. Pro Nginx potřebujete implementaci FastCGI PHP s názvem PHP-FPM (PHP-FastCGI Process Manager). Pojďme tedy nainstalovat PHP. Aby Laravel fungoval, potřebujeme také rozšíření PHP Mcrypt.

sudo apt-get install php5-fpm php5-cli php5-mcrypt

Konfigurace Nginx pro Laravel

Než budeme pokračovat, proveďte základní konfiguraci serveru Nginx, který jsme nainstalovali. Nejprve musíme vytvořit adresář, kam bude Laravel nainstalován.

sudo mkdir -p /var/www/html/laravel

Poté musíme Nginxu říci, že odtud bude naše stránka fungovat. K tomu musíme vytvořit položku virtuálního hostitele v Nginx. Nginx ukládá výchozí konfiguraci do souboru s názvem default v /etc/nginx/sites-available/default. Zkopírujeme jej a vytvoříme vlastní verzi souboru.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/laravel

Upravme konfigurační soubor

sudo nano /etc/nginx/sites-available/laravel

Uvidíte něco jako

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /usr/share/nginx/html;
        index index.html index.htm;

        server_name localhost;

        location / {
                try_files $uri $uri/ =404;
        }
}

Komentáře jsem z důvodu čitelnosti odstranil. Budete muset změnit kořenové umístění, které by v našem případě bylo /var/www/html/laravel/public. Musíte také změnit proměnnou server_name buď na název domény, kterou byste používali, nebo na IP adresu vašeho serveru.

Upravte soubor tak, aby vypadal takto

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/html/laravel/public;
    index index.php index.html index.htm;

    server_name server_domain_or_IP;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Po úpravě soubor uložte. Nyní musíme povolit tento konfigurační soubor. Zatím je aktivní pouze výchozí profil. K tomu musíme vytvořit symbolický odkaz na soubor laravel v adresáři /etc/nginx/sites-enabled. Také bychom museli zakázat výchozí profil, aby nenarušoval naši instalaci laravel.

sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/ 
sudo rm /etc/nginx/sites-enabled/default

Naše konfigurace serveru Nginx je dokončena. Dalším krokem je konfigurace PHP-FPM.

Konfigurace PHP-FPM

Tento krok je jednoduchý a vyžaduje, abychom změnili jednu proměnnou v konfiguračním souboru PHP. Čas otevřít php.ini

sudo nano /etc/php5/fpm/php.ini

Najděte v něm následující text

;cgi.fix_pathinfo=1

Odkomentujte proměnnou odstraněním; zepředu a změňte jeho hodnotu na 1 tak, aby vypadala jako

cgi.fix_pathinfo=0

To říká PHP, aby nespouštělo podobně pojmenovaný skript, pokud není nalezen původní, což je důležité z hlediska bezpečnosti.

Nakonec musíme také povolit rozšíření mcrypt, které jsme nainstalovali dříve.

sudo php5enmod mcrypt

A je to. Nyní stačí restartovat službu PHP-FPM, aby se načetly změny.

sudo service restart php5-fpm

Instalace aplikace Composer

Composer je nástroj pro správu závislostí, který nám umožňuje instalovat různé PHP frameworky a knihovny pomocí jediného příkazu. Postará se o všechny ostatní balíčky a závislosti, které byste museli instalovat samostatně, abyste mohli nainstalovat rámec, pokud byste se vydali ruční cestou. Může to ušetřit spoustu času a problémů. Nainstalovali bychom Laravel pomocí Composer.

Stáhnout Composer. Nejprve se ujistěte, že jste ve svém domovském adresáři.

curl -sS https://getcomposer.org/installer | php

Tím se stáhne soubor skladatel.phar do vašeho domovského adresáře. Nyní, pokud chcete, můžete jej spustit odtud pomocí něčeho jako php creator.phar [command], ale protože bychom preferovali spouštění skladatele globálně, musíme jej přesunout na vhodnější místo, abychom jej mohli snadno spouštět.

sudo mv composer.phar /usr/local/bin/composer

Nyní jej můžete spustit přímo pouhým voláním skladatele odkudkoli.

Instalace Laravel

Nyní, když jsme nainstalovali skladatel, musíme nainstalovat Laravel. Nainstalujte jej následujícím příkazem.

sudo composer create-project laravel/laravel /var/www/html/laravel --prefer-dist

Tím se stáhne a nainstaluje nejnovější verze Laravelu (aktuálně 5.2) na váš server.

Než dokončíme tutoriál, musíme některým adresářům udělit správná oprávnění.

sudo chgrp -R www-data /var/www/html/laravel
sudo chmod -R 775 /var/www/html/laravel/storage

Závěr

A je to. Vaše instalace Laravel je dokončena. Nyní spusťte ve svém prohlížeči http://název serveru nebo http://serverip. V případě úspěchu byste měli vidět následující obrazovku.


Ubuntu
  1. Základní konfigurace PHP 7 a Nginx na Ubuntu 16.04 Linux

  2. Instalace LLMP (Lighttpd, PHP a MySQL) na Ubuntu 14.10

  3. Instalace a nastavení PHP a Nginx na Ubuntu 20.04

  1. Základní průvodce instalací LAMP na Ubuntu

  2. Chyba při instalaci Nginx na Ubuntu 16.04?

  3. Nainstalujte PHP 7.1 s Nginx na Ubuntu 16.04

  1. Jak nainstalovat Laravel na Ubuntu 18.04

  2. Instalace Nginx na Ubuntu 14.04 a 16.04

  3. Jak nainstalovat Laravel na Ubuntu 18.04 s Apache