[Laravel学習]Laradockで複数プロジェクトするならnginx

Laradockで複数プロジェクトするならnginx

ここまで、Dockerのapache2で複数プロジェクトをしようと頑張っていました。virtual hostを編集したり、ポート番号をいじったりといろいろしましたが、すべてのアドレスが同じディレクトリを参照してしまい困ってました。しかし、もう開発環境はapache2をあきらめてnginxにしたら上手く複数プロジェクトを管理できるのではないだろうかと思いたち、設定するといとも簡単に設定できてしまったのでその記録を書きます。

環境的にはMacBookです。
MacBook (Retina, 12-inch, Early 2015)
macOS High Sierra 10.13.3
Docker 17.12.0-ce-mac49(21995)


[目次]

  • これまで
  • nginx
  • hoster

これまで

Docker起動時には以下のコマンドでapache2を起動していました。これをサクッとnginxに切り替えたいと思います。


$ docker-compose up -d apache2 mysql redis beanstalkd

nginx

単純にnginxをapache2に変更すると起動します。

$ docker-compose ps
         Name                   Command           State            Ports
--------------------------------------------------------------------------------
laradock_apache2_1       /opt/docker/bin/entryp   Exit 0
                         oint ...
laradock_applications_   /true                    Exit 0
1
laradock_beanstalkd_1    /usr/bin/beanstalkd      Up       0.0.0.0:11300->11300/
                                                           tcp
laradock_mysql_1         docker-entrypoint.sh     Up       0.0.0.0:3306->3306/tc
                         mysqld                            p
laradock_nginx_1         nginx                    Up       0.0.0.0:443->443/tcp,
                                                           0.0.0.0:80->80/tcp
laradock_php-fpm_1       docker-php-entrypoint    Up       9000/tcp
                         php-fpm
laradock_redis_1         docker-entrypoint.sh     Up       0.0.0.0:6379->6379/tc
                         redis ...                         p
laradock_workspace_1     /sbin/my_init            Up       0.0.0.0:2222->22/tcp

apache2がExit 0と起動していなくて nginxがUpになってます。これで起動はOKです。
あとはこちらの

Laradockで複数のLaravelプロジェクトを動かす

さんを参考にすれば簡単に設定できます。

hoster

ブラウザでnginxで設定したドメインをローカルホスト(localhost,127.0.0.1)に向けるためにhosterというソフトがあります。しかし、このソフト開発が止まっているので、新しいOSだとそのままインストールできません。以下のサイトを参考にインストールできます。

OS X 10.10 Yosemite に Hoster がインストールできない場合の対処法