2018/10/12
普通WEBサービスの運用方法としては、1台(サーバー)につきに Laravel のプロジェクトは1つです。
しかし僕の運用方法は1台に複数の laravel プロジェクトを入れています。
今後、新しい laravel のバージョンも入れることを想定してのことです。
今回はさくらレンタルサーバに複数のLaravelプロジェクトを共存させるやり方についてエントリーします。
ディレクトリ構成
レンタルサーバーのユーザーディレクトリのルートにlaravelプロジェクトを作成します。
たとえば
・user
この二つのプロジェクトをさくらレンタルサーバに入れるとするなら、こうなります。
ドキュメントルートについて
複数のプロジェクトを作成してもプロジェクトごとのドキュメントルートは / です。
例えば laravelプロジェクト「article」のルートの記述の仕方は従来通りの記述で問題ありません。
ルーティングの記述は以下のようになります。
Route::get('/', function () { return view('welcome'); });
しかし、画像やCSSといった外部ファイルのパブリックパスには Laravel のプロジェクト名が入ってしまいます。
これを解決するには.envファイルに環境変数を書き込みます。
- 【 参照 】環境ごとにパブリックパスが違う時の対処法
これで
http://{ドメイン}/article/
http://{ドメイン}/user/
にアクセスするとページが閲覧できます。
【デモ】
http://laraweb.sakura.ne.jp/article/
http://laraweb.sakura.ne.jp/user/
以上です。
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。