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 が必要なので、必要な拡張機能と一緒にインストールしましょう:
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: ...)
MySQL コンソールに root ユーザーとしてログインします:
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 アドレスに置き換えます。
sites-enabled:
へのシンボリック リンクを作成して、新しい 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
LEMP スタックを使用して、Laravel アプリケーションを Ubuntu サーバーに正常にデプロイしました。ここから、アプリケーションの開発を続行し、セキュリティを確保し、パフォーマンスを監視することができます。
問題が発生した場合は、Nginx エラー ログ (/var/log/nginx/error.log) または Laravel ログ (/var/www/laravel_app/storage/logs/laravel.log) を確認してください。
これらの手順で、完全な実践的な Laravel デプロイメントが完了しました!
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3