第一次接触 Laravel
的时候,就发现不由的喜欢上了这个框架
它本身非常优秀。从它的出身到现在,在github
的start一路飙升,遥遥领先。
随着对Laravel的使用逐渐深入,发现了一些不如心意的地方:太过臃肿了,依赖太多,太慢。毕竟它是一款全栈框架。
…
后来某一天无心在Laravel官网看到了 Lumen
,是这样介绍的:
Lumen 是一个“微框架”,基于 Laravel 组件构建,是 Laravel 官方支持的微框架。Lumen 诞生的目的是更快的执行速度,它是目前所有微框架中速度最快的一个 — 甚至明显快于同类框架,例如 Silex。
Lumen 的设计目的是为了构建超级快速的微服务(micro-services)和API服务的。例如,如果你的 Laravel 应用程序中的某个部分承受着大大高于其他部分的工作负荷,你可以选择将这部分功能构建为一个小型、独立的 Lumen 应用程序。
通过减少 Laravel 主应用程序的负荷,能够减少对服务器的需求量,因为基于 Lumen 构建的应用程序对服务器的需求明显少于 Laravel。
当然,Lumen 应用程序可以管理队列任务从而让 Laravel 主应用程序去处理。Laravel 和 Lumen 是一对最佳拍档,联合使用时能帮你构建强大、微服务(micro-service)驱动的应用程序。
Lumen 还非常适合构建快速的 JSON API 服务,由于这种类型的应用程序通常不需要 HTTP sessions、cookies 和 模板等功能特性。
如果你需要一款作API接口开发的框架,那么毫不犹豫,lumen非常适合
下载lumen
如果你还没有安装composer,或者你还不知道composer。可以通过 Composer中文网 来了解和安装使用
通过composer下载 Lumen
composer create-project laravel/lumen --prefer-dist
# --prefer
source 是从源码编译
dist 是从预编译的库中组装(一般指稳定版本)
# 指定安装目录
composer create-project laravel/lumen --prefer-dist ./your_project_path
# 指定安装版本
composer create-project laravel/lumen={version} --prefer-dist
# 安装5.5的版本
composer create-project laravel/lumen=5.5.* --prefer-dist
lumen依赖
- PHP >= 7.1.3
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
lumen 5.5 需要php版本 >=7.0 而最新的 lumen 5.6 需要php版本 >= 7.1
安装
进入lumen下载目录
cd /your_project_path
composer install
# 执行安装
# 安装完成后会在项目根目录 出现 vendor 目录
# 可以通过 composer update 更新依赖包
配置Nginx服务
nginx.conf
location / {
try_files $uri $uri/ /index.php?$query_string;
}
实例
server {
listen 80;
server_name your.host_name.com;
//配置你的项目域名
//默认可用localhost代替
root /your_project_path/public;
//项目根路径
//指定lumen安装的项目路径下的public目录
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~\.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
配置 Apache
略...
添加日志权限
需要给lumen安装目录下的日志目录(storage) 添加写入权限
sudo chmod -R 0777 /your_project_path/storage
打开浏览器访问 http://localhost 或 http://your.host_name.com
Lumen (5.5.2) (Laravel Components 5.5.*)
# 出现lumen安装版本信息,则表示安装成功