ホームページ  >  記事  >  バックエンド開発  >  Ubuntu での簡単な Laravel デプロイメント: LEMP スタックを使用した初心者向けガイド

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-09-20 06:55:32493ブラウズ

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 が必要なので、必要な拡張機能とともに 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 にログインする

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

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 構成を有効にする

サイト対応へのシンボリック リンクを作成して、新しい 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

Conclusion:

You’ve successfully deployed a Laravel application on an Ubuntu server using the LEMP stack. From here, you can continue to develop your application, secure it, and monitor it for performance.

If you encounter any issues, check the Nginx error logs at /var/log/nginx/error.log or Laravel logs at /var/www/laravel_app/storage/logs/laravel.log.

With these steps, you've completed a full hands-on Laravel deployment!

以上がUbuntu での簡単な Laravel デプロイメント: LEMP スタックを使用した初心者向けガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。