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

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

Mary-Kate Olsen
リリース: 2024-09-20 06:55:32
オリジナル
633 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート