GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Jak automaticky nasadit aplikace Laravel pomocí Deployer na Ubuntu 16.04

Laravel je populární, open-source PHP webový aplikační framework. Má výraznou, elegantní syntaxi a poskytuje nástroje potřebné pro velké, robustní aplikace. Deployer je modulární open-source nástroj pro nasazení PHP nabitý funkcemi a optimalizacemi, které šetří čas. Podporuje nasazení mnoha populárních frameworků, včetně Laravel, Symfony, Zend Framework a CodeIgniter. V tomto tutoriálu vám ukážeme, jak nasadit aplikaci Laravel pomocí Deployer na Ubuntu 16.04.

Požadavky

  • Server Ubuntu 16.04 s přístupem root nebo sudo.
  • Server Git. Můžete použít svůj vlastní hostovaný git server nebo jakoukoli populární službu Git, jako je Gitlab, Github nebo Bitbucket.

Nastavení prostředí místního rozvoje

Aplikaci Laravel nasadíte z místního počítače, takže nejprve musíte nastavit místní vývojové prostředí a nainstalovat Deployer.

Nejprve, pokud ještě nemáte na svém místním počítači nainstalovaný skladatel, nainstalujte jej pomocí:

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

Dále vytvořte nový projekt Laravel na místním počítači:

composer create-project --prefer-dist laravel/laravel my-laravel-app

Chcete-li nainstalovat Deployer na místní počítač, spusťte v konzole následující příkazy:

curl -LO https://deployer.org/deployer.phar
mv deployer.phar /usr/local/bin/dep
chmod +x /usr/local/bin/dep  

Nakonec se připojte k serveru git přidáním ssh klíče místního počítače na server git.

Pokud nemáte klíče SSH, můžete se podívat na náš článek o tom, jak nastavit klíče SSH na Ubuntu 16.04

Pokud používáte hostovanou službu Git, můžete se podívat na jejich dokumentaci o tom, jak přidat klíč SSH do vašeho účtu.

  • Přidat klíče SSH do účtu GitHub
  • Přidat klíče SSH do účtu GitLab
  • Přidat klíče SSH do účtu Bitbucket

Nainstalujte a nakonfigurujte PHP

Nyní, když je váš místní vývojový stroj připraven, než začneme nasazovat, musíme nakonfigurovat server instalací všech nezbytných služeb.

Chcete-li nainstalovat nejnovější stabilní verzi PHP verze 7 a všechny potřebné moduly, spusťte:

sudo apt update
sudo apt install php7.0-fpm php7.0-cli php7.0-gd php7.0-mysql php7.0-mcrypt php-pear php7.0-curl

Potřebujeme také nainstalovat skladatel:

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

Nainstalujte a nakonfigurujte Nginx

Nainstalujte nejnovější stabilní verzi Nginx z oficiálních repozitářů Ubuntu:

sudo apt install nginx

Dále vytvořte nový blok serveru Nginx:

sudo nano /etc/nginx/sites-available/my-laravel-app.com
server {  
    listen 80;
    server_name my-laravel-app.com;
    root /var/www/html/my-laravel-app.com/current/public;

    index index.html index.htm index.php;

    charset utf-8;

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

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

}

Aktivujte blok serveru vytvořením symbolického odkazu:

sudo ln -s /etc/nginx/sites-available/my-laravel-app.com /etc/nginx/sites-enabled/my-laravel-app.com

Otestujte konfiguraci Nginx a restartujte nginx:

sudo nginx -t
sudo service nginx restart

Vytvoření databáze MySQL

Pokud nemáte nainstalované MySQL, můžete navštívit náš tutoriál o tom, jak nainstalovat MySQL na Ubuntu 16.04

Chcete-li vytvořit databázi pro aplikaci laravel, spusťte následující příkazy:

mysql -u root -p
CREATE DATABASE laravel;
GRANT ALL PRIVILEGES ON laravel.* TO 'laraveluser'@'localhost' IDENTIFIED BY 'your-password';
FLUSH PRIVILEGES;
\q

Vytvořit uživatele Deployer

Hlavním účelem tohoto uživatele je nasadit naši aplikaci Laravel prováděním příkazů na našem serveru.

Chcete-li vytvořit uživatele, spusťte následující příkaz:

sudo adduser deployer

Nginx i PHP FPM běží jako uživatel www-data. Soubory a adresáře vytvořené uživatelem nasazení musí být pro uživatele www.

zapisovatelné

Spuštěním následujícího příkazu přidejte uživatele nasazení do skupiny www-data:

sudo usermod -aG www-data deployer

Změňte vlastnictví kořenového adresáře dokumentu spuštěním:

sudo chown deployer:www-data /var/www/html/my-laravel-app.com

a nastavte ID uživatelské skupiny

sudo chmod g+s /var/www/html/my-laravel-app.com

Pomocí výše uvedeného příkazu všechny nové soubory a podadresáře vytvořené v rámci `/var/www/html/my-laravel-app.com` zdědí ID skupiny adresářů.

Přidejte svůj veřejný SSH klíč místního uživatele do souboru /home/deployer/.ssh/authorized_keys, abyste se mohli přihlásit ke vzdálenému serveru z místního počítače bez hesla jako uživatel pro nasazení a spouštět příkazy nasazení.

Nakonec musíte přidat klíč SSH uživatele nasazení na váš git server, stejně jako jste to udělali s uživatelem místního počítače.

Používání nástroje Deployer

Otevřete terminál místního počítače a přepněte se do adresáře projektu laravel.

cd ~/my-laravel-app

Spusťte následující příkaz a vytvořte soubor receptu s názvem deploy.php .

dep init -t Laravel

Otevřete soubor a nakonfigurujte a nastavte správná pověření úložiště a nakonfigurujte parametr hostitele takto:

host('your_remove_server_ip')
    ->user('deployer')
    ->set('deploy_path', '/var/www/html/my-laravel-app.com');

Z vnitřního adresáře projektu můžete nyní spustit příkaz `dep` k nasazení vaší aplikace.

Další informace o tom, jak nakonfigurovat a používat Deployer, naleznete na stránce dokumentace.

Samozřejmě nemusíte konfigurovat vzdálený server, pokud používáte jeden z našich bleskově rychlých serverů Ubuntu, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vytvořili uživatele pro nasazení a nainstalovali a nakonfigurovali všechny potřebné služby za vás. . Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.

PS. Pokud se vám líbil tento příspěvek o tom, jak automaticky nasadit aplikace Laravel pomocí Deployer na Ubuntu 16.04, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.


Panels
  1. Jak nahradíme Iptables Firewallem v Ubuntu 16.04?

  2. Jak automaticky nasadit aplikace Laravel pomocí Deployer na Ubuntu 16.04

  3. Jak nainstalovat Joomla s Nginx na Ubuntu 18.04

  1. Jak nainstalovat Let’s Encrypt na Ubuntu 20.04 s Apache

  2. Jak integrovat Collabora Online s Nextcloud na Ubuntu 20.04

  3. Jak zabezpečit Nginx pomocí Let's Encrypt na Ubuntu 20.04

  1. Jak nainstalovat Elgg s Nginx na Ubuntu 14.04

  2. Jak nainstalovat Elgg s Nginx na Ubuntu 18.04

  3. Jak povolit protokol HTTPS s Apache 2 na Ubuntu 20.04