January 29, 2019

個人向けLaravel周辺のエコシステム

これからLaravelに詳しくなりたい人向けに一番大事なことを書いておくと
公式ドキュメントだけ読んで公式のエコシステムに頼れ、ぐぐるな本も読まなくていい
公式以外の情報はすべて間違ってると思っていい。

公式サポート内でここまで至れり尽くせりなのはたぶんLaravelくらいしかないので頼れる所は頼って楽するべき。

開発環境

前回書いたけどその後SQLite使えばphp artisan serveでもDB使えると気付いたのでこれが最小限の開発環境。
でもどうせすぐに足りなくなるのでさっさとHomesteadを使う。
Homesteadが公式推奨の開発環境。
まず開発環境をフレームワーク公式に用意してる所からもう他では見た記憶がない。

本番公開前の準備

ここは各自で好きなサービスを使う。

gitリポジトリ

GitHub/GitLab(.com)/Bitbucket
どれでも。

本番サーバー

公式に対応してるのはDigitalOcean/Linode/AWS/Vultr辺りだけどOSにUbuntu18.04(その時点でのLTS)を選べるVPSならなんでもいい。

レンタルサーバーはありえない。

個人的なおすすめはAWS Lightsail。最初からAWS使ったほうがいい。

Laravel forgeを使え

有料だからこれも使ってる人少ないけどforgeを作ってるのはTaylor Otwell氏。Laravelを作ってる人。
forgeがやってくれるのはLaravel作った人が「これがLaravel動かすのに最適だ」という設定で本番サーバーを構築してくれる。
新しいUbuntuサーバーを起動してsshしてセットアップ用のコマンドをコピペで本番サーバーの完成。
もう一つgitリポジトリから本番サーバーへのデプロイもforgeの仕事。

初心者には一番難しい本番サーバーへの公開部分を面倒見てくれる。

forgeで管理してるサーバー間ならネットワークを組めるのでサーバーAでLaravelとMySQL動かして別のサーバーBのLaravelからサーバーAのMySQLに接続できる。
これにより複数台サーバーでの負荷分散ができる。
forgeで対応するのは1台から数台まででオートスケーリングが必要な規模になったらECS等他を使うけど個人ではそこまでいらないだろう。

自分で構築できると言ってApache、PHP、MySQLインストールして満足してる人はいいからforge使ったほうがいい。
キューまで使えないとLaravelの真の力は引き出せない。

個人レベルなら

サーバー1台でLaravelプロジェクト10個や20個動かしても平気なので
新規プロジェクトをどんどん作って公開してを繰り返すと経験値が増える。

さっと公開できる環境が整ってることが大事。こういうの作ろうと思いついてから公開まで1日もかからない。

開発から運用まで

公式エコシステム内で全部面倒見てくれるので一番やるべきことであるLaravelの開発以外のことは気にしなくていい。

© kawax