セキュリティ対策のため開発用のモジュールを取り除きデプロイする。
メンテナンスモード
一時的にステータスコード503を返し停止中であることを伝える。
1 | php artisan down |
サービスを再開する。
1 | php artisan up |
Composer
モジュールはプロジェクトのvendorディレクトリ以下に配置されている。
bootstrapをインストールするとbootstrapディレクトリ以下に配置される。
開発用にrequire-devも含めてインストールしている状態から下記のコマンド実行すると、composer.jsonのrequireに限定してモジュールがインストールされる。
1 | composer install --no-dev |
インストール済みモジュールは下記のコマンドで確認できる。
1 | composer show -i |
開発でしか使用しないモジュールは下記のコマンドでインストールするとrequire-devに登録されインストールされる。
1 | composer install 【モジュール名】 --dev |
パッケージの更新はupdateコマンドを実行する。require-devに含まれるパッケージもインストールされるため、本番用サイト向けには install –no-dev を続けて実行する必要がある。
1 | > composer update |
Node.JS
モジュールはプロジェクトのnode_modulesディレクトリ以下に配置されている。
開発用にdevDependenciesも含めてインストールしている状態から下記のコマンドを実行すると、package.json のdependenciesに限定してインストールされる。
1 | npm install --production |
インストール済みモジュールは下記のコマンドで確認できる。
前述の動作に必要なモジュールだけをインストールした状態では依存関係を解決できない警告が表示される。
1 | npm list |
開発でしか使用しないモジュールは下記のコマンドでインストールするとdevDependenciesに登録されインストールされる。
1 | npm install 【モジュール名】 --save-dev |
パッケージの更新はupdateコマンドを実行する。updateコマンドによりdevDependenciesで指定されるパッケージがインストールされる。production環境でupdateを行うとdevDependenciesで指定されたパッケージもインストールされてしまう。この場合、node_modules ディレクトリを削除した後、npm install –production を実行する。
1 | npm update |
設定の変更
データベース
設定値をProduction用に変更
- .envファイルのAPP_DEBUGをfalseに変更
- .envファイルのAPP_URLをproduction用に変更
- .envファイルのDB_系の設定をproduction用に変更
シンボリックリンク
/storage/app/public から /pubic/storage へシンボリックリンクが張られている必要があるが、サイト全体をコピーするとコピー元へリンクが張られる。
一旦リンクを削除した後、下記のコマンドを実行しリンクを張り直す。
1 | php artisan storage:link |