使用 laradock 搭建 laravel/lumen 开发环境
# 前言
本篇文章旨在利用 Docker, Laradock, Lumen(Laravel 也一样) 快速搭建一个可以在本地进行开发的 API 项目。
提示
本篇文章以在 Mac 上开发为例,Windows 或 Linux 开发可能有部分命令需要适当调整,总体思路一致。
# Docker
首先,Docker 是什么。百度百科上的定义如下:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
简单来说,Docker 就是一个把你开发所需要的各种工具打包起来,可以一键启动,一键关闭的软件。各个包(准确的说是容器 container )之间互不关联,你可以在一个包里装 PHP 7,另一个包里装 PHP 5,启动哪个用哪个,非常方便。尤其是在团队开发的时候,用 Docker 把需要的各工具、插件打包起来,每个团队成员只需要使用同样的镜像(image)就可以直接在各自的本地创建相同的开发环境,从而避免由于各自软件的版本不一致而导致的各种问题。
本文章就不对 Docker 进行详细介绍了,对于本文所需,你只要到 Docker 官网把 Docker 下载下来就行了。由于本文基于 Mac 开发,所以直接下载 Docker for Mac 即可。
# Lumen
Lumen 是 Laravel 的一个简易版本,保留了可以用 Laravel 进行 API 开发的基本功能,没有 MVC 中的视图(View),专门用于 API 开发。
按照 Lumen 官网的方法,安装 Lumen 即可
- 下载 Lumen 安装器
composer global require "laravel/lumen-installer"
- 找到你想新建项目的目录,新建 Lumen 项目
lumen new my_project
提示
下载安装 Laravel 同理。
# Laradock
Laradock 是一个提供了 Laravel 开发所需要的几乎所有工具的一个 Docker 镜像库,使用 Laradock 可以快速启动一个可以直接使用的 Docker 容器。省去了自己配置 Docker 的步骤
- 将 Laradock 下载到本地与你的项目同一层的文件夹中,即
/projects
/my_project1
/my_project2
/laradock
2
3
4
下载命令
git clone https://github.com/laradock/laradock.git
- 进入 Laradock 目录下,复制并生成
.env
变量文件
cp env-example .env
- 进入其中的
/nginx/sites
文件夹下
cd nginx/sites
- 复制
app.conf.example
并生成自己项目的 config 文件
cp app.conf.example my_project.conf
- 打开该 config 文件,修改域名及文件目录
server_name app.test;
root /var/www/app;
2
改为
server_name my_project.test;
root /var/www/my_project/public;
2
提示
my_project.test
即为该项目本地域名,所有配置完成后在浏览器中输入 my_project.test
即可访问该项目
- 打开
hosts
文件(在 Mac 中,hosts 文件的路径为/etc/hosts
),加入
127.0.0.1 my_project.test
至此,Lumen 开发环境已经配置完成。
# 启动开发环境
开发时,进入 Laradock 文件夹目录,启动 Docker 容器
docker-compose up nginx mysql phpmyadmin
在浏览器地址栏中输入 my_project.test
即可访问刚刚创建好的 Lumen 项目。
# phpmyadmin
启动 Docker 容器的时候我们也同时启动了 mysql 数据库,以及 phpmyadmin 数据库管理的镜像。因此,通过 localhost:8080
或者 127.0.0.1:8080
即可访问 phpmyadmin,方便快捷的管理 mysql 数据库。
如果进入 phpmyadmin 之后出现使用 root 用户登录不上去的情况,请参考我的另一篇文章: