「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Ubuntu での簡単な Laravel デプロイメント: LEMP スタックを使用した初心者向けガイド

Ubuntu での簡単な Laravel デプロイメント: LEMP スタックを使用した初心者向けガイド

2024 年 11 月 1 日に公開
ブラウズ:695

Easy Laravel Deployment on Ubuntu: A Beginner

LEMP スタック (Linux、Nginx、MySQL、PHP) を使用して Ubuntu に Laravel アプリケーションをデプロイするのは困難に思えるかもしれませんが、段階的に分解していけば管理可能になります。このガイドでは、サーバーのセットアップから Laravel アプリケーションのデプロイまでのプロセスを説明します。

前提条件:

  • Ubuntu サーバー (ローカルまたはクラウド、例: AWS、DigitalOcean) が必要です。
  • 端末に関する基本的な知識。
  • ドメイン名 (オプションですが推奨)。

パート 1: LEMP スタックのセットアップ

ステップ 1: システムを更新する

まず、サーバーが最新であることを確認します。

sudo apt update && sudo apt upgrade -y

ステップ 2: Nginx をインストールする

Nginx がアプリケーションを提供します。

sudo apt install nginx -y

インストールしたら、Nginx を起動して起動時に実行できるようにします:

sudo systemctl start nginx
sudo systemctl enable nginx

ブラウザでサーバーの IP アドレスにアクセスすると、Nginx が実行されていることを確認できます。

ステップ 3: MySQL をインストールする

次に、MySQL データベース サーバーをインストールします。

sudo apt install mysql-server -y

MySQL インストールを保護します:

sudo mysql_secure_installation

これにより、root パスワードを設定し、安全でないデフォルトを削除するよう求められます。

ステップ 4: PHP をインストールする

Laravel には PHP が必要なので、必要な拡張機能と一緒にインストールしましょう:

sudo apt install php-fpm php-mysql php-cli php-xml php-mbstring php-curl php-zip -y

PHP のインストールを確認します:

php -v

次のような内容が表示されるはずです:

PHP 7.x.x (cli) (built: ...)

パート 2: Laravel 用に MySQL を構成する

ステップ 1: MySQL にログインする

MySQL コンソールに root ユーザーとしてログインします:

sudo mysql

ステップ 2: データベースを作成する

Laravel アプリケーションの新しいデータベースとユーザーを作成します:

CREATE DATABASE laravel_app;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON laravel_app.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

ステップ 3: データベースをテストする

新しいデータベース ユーザーが接続できることを確認します:

mysql -u laravel_user -p

パスワードの入力を求められるので、次のように入力します:

SHOW DATABASES;

リストにlaravel_appが表示されるはずです。


パート 3: Laravel のインストール

ステップ 1: Composer をインストールする

Laravel は Composer を依存関係マネージャーとして使用します。 Composer をインストール:

sudo apt install composer -y

ステップ 2: Laravel プロジェクトを作成する

Laravel をインストールするディレクトリ (例: /var/www/) に移動します:

cd /var/www/
composer create-project --prefer-dist laravel/laravel laravel_app

ステップ 3: ディレクトリ権限を設定する

Laravel では、Web サーバーが書き込みできるようにいくつかのディレクトリが必要です:

sudo chown -R www-data:www-data /var/www/laravel_app
sudo chmod -R 775 /var/www/laravel_app/storage
sudo chmod -R 775 /var/www/laravel_app/bootstrap/cache

ステップ 4: .env ファイルを構成する

Laravel プロジェクト ルートで、.env ファイルを開き、データベース設定を構成します。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_app
DB_USERNAME=laravel_user
DB_PASSWORD=strong_password

パート 4: Laravel 用に Nginx を構成する

ステップ 1: 新しい Nginx サーバー ブロックを作成する

Laravel プロジェクトの Nginx 構成ファイルを作成します。

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

次の設定をファイルに追加します:

server {
    listen 80;
    server_name your_domain_or_ip;

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

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.x-fpm.sock; # Change this to the correct PHP version.
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

your_domain_or_ip を実際のドメイン名またはサーバー IP アドレスに置き換えます。

ステップ 2: Nginx 構成を有効にする

sites-enabled:
へのシンボリック リンクを作成して、新しい Nginx 構成を有効にします。

sudo ln -s /etc/nginx/sites-available/laravel_app /etc/nginx/sites-enabled/

ステップ 3: Nginx のテストとリロード

Nginx 構成をテストして、構文エラーがないことを確認します:

sudo nginx -t

すべてが正常であれば、Nginx を再起動します:

sudo systemctl reload nginx

パート 5: 最終ステップ

ステップ 1: Laravel の移行を実行する

Laravel 移行を実行してデータベースをセットアップします:

cd /var/www/laravel_app
php artisan migrate

ステップ 2: アプリケーションにアクセスする

これで、ブラウザでサーバーの IP またはドメインに移動して、Laravel アプリケーションにアクセスできるようになります。デフォルトの Laravel ようこそページが表示されます。

ステップ 3: HTTPS を有効にする (オプションですが推奨)

ドメインをお持ちの場合は、Let's Encrypt を使用してサイトを保護してください:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain

指示に従って SSL 証明書をインストールします。 Certbot は、HTTP トラフィックを HTTPS にリダイレクトするように Nginx を自動的に構成します。


パート 6: オプション: Laravel キューとスケジューラのセットアップ

Laravelキュー:

キューは、電子メールの送信やバックグラウンドでのジョブの処理などのタスクを処理します。

  1. キュー ドライバー (Redis またはデータベースなど) をセットアップします。
  2. Laravel キューワーカーを実行します。
   php artisan queue:work

Laravelスケジューラ:

キャッシュのクリア、毎日のメールの送信などのタスクには、Laravel のタスク スケジュール機能を使用します。

  1. Laravel cron エントリを crontab に追加します。
   sudo crontab -e

次の行を追加します:

   * * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1

結論:

LEMP スタックを使用して、Laravel アプリケーションを Ubuntu サーバーに正常にデプロイしました。ここから、アプリケーションの開発を続行し、セキュリティを確保し、パフォーマンスを監視することができます。

問題が発生した場合は、Nginx エラー ログ (/var/log/nginx/error.log) または Laravel ログ (/var/www/laravel_app/storage/logs/laravel.log) を確認してください。

これらの手順で、完全な実践的な Laravel デプロイメントが完了しました!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/mdarifulhaque/easy-laravel-deployment-on-ubuntu-a-beginners-guide-with-lemp-stack-155a?1 侵害がある場合は、study_golang にご連絡ください。 @163.com 削除
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3