LEMP スタック (Linux、Nginx、MySQL、PHP) を使用して Ubuntu に Laravel アプリケーションをデプロイするのは困難に思えるかもしれませんが、段階的に分解していけば管理可能になります。このガイドでは、サーバーのセットアップから Laravel アプリケーションのデプロイまでのプロセスを説明します。
まず、サーバーが最新であることを確認します。
sudo apt update && sudo apt upgrade -y
Nginx がアプリケーションを提供します。
sudo apt install nginx -y
インストールしたら、Nginx を起動して起動時に実行できるようにすることができます。
sudo systemctl start nginx sudo systemctl enable nginx
ブラウザでサーバーの IP アドレスにアクセスすると、Nginx が実行されていることを確認できます。
次に、MySQL データベース サーバーをインストールします。
sudo apt install mysql-server -y
MySQL インストールを保護します:
sudo mysql_secure_installation
これにより、root パスワードを設定し、安全でないデフォルトを削除するよう求められます。
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: ...)
root ユーザーとして MySQL コンソールにログインします。
sudo mysql
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;
新しいデータベース ユーザーが接続できることを確認します:
mysql -u laravel_user -p
パスワードの入力を求められるので、次のように入力します。
SHOW DATABASES;
リストにlaravel_appが表示されるはずです。
Laravel は Composer を依存関係マネージャーとして使用します。 Composer をインストールします:
sudo apt install composer -y
Laravel をインストールするディレクトリ (例: /var/www/) に移動します。
cd /var/www/ composer create-project --prefer-dist laravel/laravel laravel_app
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
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
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 アドレスに置き換えます。
サイト対応へのシンボリック リンクを作成して、新しい Nginx 構成を有効にします:
sudo ln -s /etc/nginx/sites-available/laravel_app /etc/nginx/sites-enabled/
Nginx 構成をテストして、構文エラーがないことを確認します。
sudo nginx -t
すべてが正常であれば、Nginx を再起動します。
sudo systemctl reload nginx
Laravel 移行を実行してデータベースをセットアップします:
cd /var/www/laravel_app php artisan migrate
これで、ブラウザでサーバーの IP またはドメインに移動して、Laravel アプリケーションにアクセスできるようになります。デフォルトの Laravel ようこそページが表示されます。
ドメインをお持ちの場合は、Let's Encrypt を使用してサイトを保護してください:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d your_domain
指示に従って SSL 証明書をインストールします。 Certbot は、HTTP トラフィックを HTTPS にリダイレクトするように Nginx を自動的に構成します。
キューは、電子メールの送信やバックグラウンドでのジョブの処理などのタスクを処理します。
php artisan queue:work
キャッシュのクリア、毎日のメールの送信などのタスクには、Laravel のタスク スケジュール機能を使用します。
sudo crontab -e
次の行を追加します:
* * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1
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 サイトの他の関連記事を参照してください。