标签 LARAVEL 下的文章

基于 Laravel + Dingo api + JWT + laravel-admin 的基础项目
基于 rest api 完成了注册登录等接口,修改后直接使用

代码下载

启动新项目直接使用节省时间
前后台和接口独立域名

版本:

  • Laravel 5.7.13
  • Dingo api 2.0.0-alpha2
  • JWT rc.3
  • laravel-admin 1.6.7

以下所有例子都是使用 lvbegin.com 域名

接口地址: http://api.lvbegin.com
管理端:http://admin.lvbegin.com
门户:http://www.lvbegin.com

开发环境部署
$ composer install
$ cp .env.example .env

根据实际情况修改设置,特别是数据库和REDIS,还有下面两个

ADMIN_DOMAIN=[admin.lvbegin.com](http://admin.lvbegin.com)
API_DOMAIN=[api.lvbegin.com](http://api.lvbegin.com)

继续执行下面命令

$ php artisan key:generate
$ php artisan admin:install
$ php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
$ php artisan jwt:secret
$ php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
$ php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"

以上执行完毕,并且修改了虚拟主机配置后可以通过浏览器打开

http://admin.lvbegin.com 测试管理端,账号和密码: admin

http://api.lvbegin.com 接口需要通过 postman 测试

接口列表:
php artisan api:routes

用户验证接口

测试的时候记得先调用注册接口注册一个用户先

虚拟主机参考
server {
    listen 80;
    server_name api.lvbegin.com admin.lvbegin.com www.lvbegin.com;
    index index.php index.html index.htm;
    root /data/www/laravel-beginning/public; # default Laravel's entry point for all requests
    set_real_ip_from 10.104.17.235;
    real_ip_header X-Forwarded-For;
    real_ip_recursive on;
    location / {
        # try to serve file directly, fallback to index.php
        try_files $uri /index.php?$args;
    }
    location ~ \.php$ {
        fastcgi_index index.php;
        fastcgi_pass 127.0.0.1:9000; # address of a fastCGI server
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        include fastcgi_params;
    }
}
截图

管理端

管理端

POSTMAN 调试

参考

找到的例子是一个Blog ,由于作者是法国人,而且文档是介绍在DOCKER下跑的,我在MAC上尝试掉进了不少坑
项目地址:
https://github.com/guillaumebriday/laravel-blog

安装好:composer & node & MySQL & PHP扩展 pcntl

$ git clone https://github.com/guillaumebriday/laravel-blog.git
$ cd laravel-blog
$ cp .env.example .env
$ composer install
$ php artisan key:generate
$ php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider"
$ php artisan storage:link
$ php artisan migrate --seed
$ npm install
$ npm run dev
$ php artisan serve

我本地没有 Redis 要做以下修改

"message": "php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known [tcp://redis:6379]",

.env 中的

QUEUE_CONNECTION = redis

应该是写错了是下面这个才对,同时改为用 databases

QUEUE_DRIVER = databases
BROADCAST_DRIVER = pusher 

pusher 依赖 Redis 改成 log

BROADCAST_DRIVER = log

以上一路没出错的话就恭喜,可以访问 http://localhost:8000
账号密码:darthvader@deathstar.ds / 4nak1n

laravel-blog-a.png
laravel-blog-b.png
laravel-blog-c.png

注意:修改配置后必须清缓存

php artisan config:clear

并且重启http服务

php artisan serve