Jak nasadit Laravel na sdíleném hostingu

Úvod Jste tedy připraveni nasadit aplikaci Laravel na sdílený hosting v. cPanel? Zatímco poskytovatelé VPS hostingu, jako je DigitalOcean nebo AWS, ve spojení s Laravel Forge moho...

Poptat web

21. 10. 2024

Jak nasadit Laravel na sdíleném hostingu

Úvod

Jste tedy připraveni nasadit aplikaci Laravel na sdílený hosting v. cPanel? Zatímco poskytovatelé VPS hostingu, jako je DigitalOcean nebo AWS, ve spojení s Laravel Forge mohou být pro projekty Laravel běžnější volbou, existují případy, kdy budete muset. nasazení na sdílený hosting.

Nasazení Laravelu v cPanelu lze provést, ale musíte to udělat. správný způsob abyste se vyhnuli dlouhodobým bolestem hlavy. V tomto návodu vás provedu krok za krokem jak hladce nasadit aplikaci Laravel v cPanelu.

Ponořme se do toho!

Proč záleží na "správném způsobu"

Pravděpodobně jste již viděli návody, které doporučují některé riskantní techniky nasazení, jako je například nahrání vašeho prodejce přes FTP nebo přesunutí souborů z Veřejná funkce Laravel do složky public_html. Tyto zkratky mohou zpočátku fungovat, ale mohou vést ke spoustě problémů. Správa změn kódu, aktualizací verzí a migrací databází. je mnohem těžší, pokud použijete tyto přístupy.

Tento průvodce vám pomůže vyhnout se těmto nástrahám, aby se vaše aplikace Laravel dala snadno udržovat a aktualizovat.

Než začneme s průvodcem krok za krokem, ujistěte se, že jste frontend vytvořili lokálně, protože na sdíleném hostingu je sestavení a vytvoření balíčku frontendů obtížné:

npm run build

Pokyny pro nasazení krok za krokem

Krok 1: Přístup k cPanelu a kontrola požadavků

  1. Přihlaste se do svého panelu cPanel: Přejděte na stránku https://cpanel.yourdomain.com or https://yourdomain.com:2083 a přihlaste se pomocí svých přihlašovacích údajů.
  2. Zkontrolujte Pokročilé sekce pro Terminál (pokud chybí, vyžádejte si Přístup ke skořápce od poskytovatele hostingu). Tento terminál budeme používat pro většinu úloh nasazení.

terminal in cpanel advanced section

Jakmile se dostanete dovnitř, zkontrolujte verzi PHP aby byla zajištěna kompatibilita.

php -v

Ujistěte se, že se jedná o správnou verzi PHP. Pokud ne, přejděte na domovskou stránku cPanelu a vyhledejte položku Vyberte verzi PHP pod Software a změňte verzi PHP na požadovanou.

select php version in cpanel software section

Dále ověřte Rozšíření PHP:

php -m

Zkontrolujte, zda jsou nainstalována následující rozšíření:

  • ctype
  • curl
  • dom
  • fileinfo
  • filtr
  • hash
  • mbstring
  • openssl
  • pcre
  • pdo
  • pdo_mysql
  • pdo_sqlite
  • relace
  • sqlite3
  • tokenizer
  • xml

a další rozšíření vyžadovaná vaší aplikací.

Krok 2: Instalace nástroje Composer (volitelně)

Kompozitor je obvykle předinstalován poskytovatelem hostingu. Můžete to zkontrolovat spuštěním:

composer -V

Pokud není předinstalována, můžete požádat poskytovatele hostingu o její povolení/instalaci nebo si ji nainstalovat sami. Předpokládejme, že si ji nainstalujete sami, a začněte přidáním aliasu do prostředí shellu:

echo 'alias composer="php -d allow_url_fopen=On /home/username/composer.phar"' >> ~/.bashrc
source ~/.bashrc

Poté si stáhněte a nainstalujte aplikaci Composer:

cd ~
curl -k -O https://getcomposer.org/installer
php -d allow_url_fopen=On installer

Ověřte instalaci:

composer -V

Krok 3: Nastavení systému Git

Když je nástroj Composer připraven, přejděme na. Git nastavit. Pokud nemáte Git předinstalovaný v cPanelu, požádejte poskytovatele hostingu o jeho povolení.

Dále zkontrolujte, zda Klíč SSH existuje:

cat ~/.ssh/id_rsa.pub

Pokud ne, vygenerujte ji:

ssh-keygen -t rsa -b 4096 -C "your_cpanel_username"

Zkopírujte veřejný klíč:

cat ~/.ssh/id_rsa.pub

Přidejte ji do repozitáře GitHub pod položkou Nastavení -> Klíče pro nasazení.

DOPORUČUJEME - nekontrolujte Povolení přístupu pro zápis zaškrtávací políčko.

deploy keys for a repo on github

Krok 4: Klonování úložiště a nastavení aplikace

Nyní jsme připraveni klonování aplikace. Spusťte následující příkaz pro klonování úložiště do složky s názvem "app" a poté přejděte do této složky:

git clone git@github.com:username/repo.git app && cd app

Nainstalujte závislosti:

composer install --no-dev

Během toho vytvořte nový Databáze MySQL v panelu cPanel:

mysql database wizard on cpanel

Pak nakonfigurujte .env soubor:

cp .env.example .env
nano .env

Aktualizujte nastavení prostředí:

APP_ENV=production
APP_DEBUG=false
 
DB_HOST=localhost
DB_CONNECTION=mysql
DB_DATABASE=yourdbname
DB_USERNAME=youruser
DB_PASSWORD=yourpass

Vygenerujte aplikační klíč:

php artisan key:generate

Spusťte migrace:

php artisan migrate --force

Pokud používáte filament, optimalizujte komponenty filamentu a ikony nožů:

php artisan filament:optimize

Optimalizace zobrazení, tras, událostí a konfigurací:

php artisan optimize

Vytvoření symbolických odkazů nakonfigurovaných pro aplikaci:

php artisan storage:link

Krok 5: Zveřejnění aplikace

Nyní je aplikace stále soukromá. Abychom ji zpřístupnili, vytvoříme aplikaci symbolický odkaz z aplikace public do složky public_html. Nejprve zálohujte stávající public_html složka:

mv public_html public_html_old

Poté vytvořte symlink:

ln -s /home/yourusername/app/public /home/yourusername/public_html

Nyní navštivte své stránky a měly by být živé!

Krok 6: Nastavení úloh Cron (volitelné)

Pokud vaše aplikace vyžaduje naplánované úlohy, nastavte si Úloha Cron v panelu cPanel:

cron jobs page on cpanel

/usr/local/bin/php /home/yourusername/app/artisan schedule:run >> /dev/null 2>&1

Závěr

A je to! Úspěšně jste nasadili aplikaci Laravel do cPanelu. správný způsob. Žádné zkratky, žádné riskantní strategie - jen čisté a udržovatelné nastavení. Chcete-li nasadit nové změny, stačí odeslat do repozitáře GitHub a spustit git pull z terminálu cPanelu.

A pokud chcete ještě hladší proces nasazení, zvažte možnost nastavení Akce GitHub pracovní postup pro testování a automatizaci nasazení.

🎉☁️ Šťastné nasazení!

Původní článek publikoval Nabil Hassen.