laradock目录说明-服务说明

在坚持Docker推动的关注分离原则时,Laradock在自己的Container上运行每个软件。您可以像任何容器一样打开/关闭任意数量的实例,而不必担心配置,一切都像魅力一样。

数据库引擎: MySQL – MariaDB – Percona – MongoDB – Neo4j – RethinkDB – MSSQL – PostgreSQL – Postgres-PostGIS。
数据库管理: PhpMyAdmin – Adminer – PgAdmin
缓存引擎: Redis – Memcached – Aerospike
PHP服务器: NGINX – Apache2 – Caddy
PHP编译器: PHP FPM – HHVM
消息队列: Beanstalkd – RabbitMQ – PHP工作者
排队管理: Beanstalkd控制台 – RabbitMQ控制台
随机工具: Mailu – HAProxy – Certbot – Blackfire – Selenium – Jenkins – ElasticSearch – Kibana – Grafana – Gitlab – Mailhog – MailDev – Minio – Varnish – Swoole – NetData – Portainer – Laravel Echo – Phalcon

Laradock将Workspace Image作为开发环境引入。它包含一组丰富的有用工具,所有这些工具都经过预先配置,可以与您选择的几乎任何容器和工具组合工作和集成.

工作区图像工具 PHP CLI – Composer – Git – Linuxbrew – Node – V8JS – Gulp – SQLite – xDebug – Envoy – Deployer – Vim – Yarn – SOAP – Drush

提高MacOS的速度

Tip: 更多见官网文档

在撰写本文时,Mac上的Docker 很慢。特别是对于大型项目,这可能是一个问题。问题是比2016年3月更早 – 因为这是一个长期存在的问题,我们将其包含在此处的文档中。

因此,与Linux相比,使用osxfs将代码共享到Docker容器中的性能非常差。可能有一些解决方法:

解决方法A:使用小艇
Dinghy使用docker-machine创建自己的VM,它不会修改现有的docker-machine VM。

快速设置giude,(我们建议您查看他们的文档)

1) brew tap codekitchen/dinghy

2) brew install dinghy

3)dinghy create –provider virtualbox(必须安装虚拟机,但如果您愿意,它们支持其他提供商)

4)完成上述命令后,它将显示一些env变量,将它们复制到bash配置文件或zsh或..(这将指示docker使用在VM内运行的服务器)

5) docker-compose up …

你可以在具有相同的使用任何时间有或无搬运工同步运行laradock .env和docker-compose.yml,因为当使用搬运工同步的配置被自动忽略。
您可以检查sync.sh脚本以了解每个命令,甚至添加自定义命令。
如果容器无法访问docker-sync上的文件,则可能需要在该容器的Dockerfile上设置id为1000的用户(这是nginx和php-fpm在laradock上配置的UID)。或者,您可以将权限更改为777,但不建议这样做 更多-docker-sync文档

Laradock有两个基本图像(Workspace和php-fpm,主要由以加快您的计算机上生成时间。

目录抓取时间: 2018年11月16日16:50:06

├── LICENSE
├── adminer Adminer替换phpMyAdmin
├── aerospike Aerospike(以下简称AS)是一个以分布式为核心基础,可基于行随机存取内存中索引、数据或SSD存储中数据的数据库
├── apache2
├── aws 亚马逊
├── beanstalkd Beanstalkd,一个高性能、轻量级的分布式内存队列系统
├── beanstalkd-console
├── caddy caddy是一个用go语言开发的服务器,可用作web端
├── certbot Certbot是EFF加密整个互联网的一部分。通过Web进行安全通信依赖于HTTPS,这需要使用数字证书,让浏览器验证Web服务器的身份
├── docker-compose.sync.yml
├── docker-compose.yml
├── docker-registry
├── docker-sync.yml
├── docker-web-ui
├── elasticsearch ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口
├── env-example
├── gitlab
├── grafana 自动创建监控图
├── haproxy haproxy是一款非常的专业的全7层的反向代理负载均衡器
├── hhvm HHVM (HipHop Virtual Machine)会将PHP代码转换成高级别的字节码(通常称为中间语言)。然后在运行时通过即时(JIT)编译器将这些字节码转换为x64的机器码。在这些方面,HHVM十分类似于C#的CLR和Java的JVM
├── ide-codiad Codiad是一个基于Web的IDE框架,占用空间小,需求量小。
├── ide-icecoder
├── ide-theia
├── ide-webide
├── ipython
├── jenkins
├── jupyterhub
├── kibana
├── laravel-echo-server
├── logs
├── maildev
├── mailhog
├── mariadb
├── memcached
├── minio
├── mongo
├── mongo-webui
├── mssql
├── mysql
├── neo4j
├── nginx
├── percona
├── pgadmin
├── php-fpm
├── php-worker
├── phpmyadmin
├── portainer
├── postgres
├── postgres-postgis
├── rabbitmq
├── redis
├── rethinkdb
├── selenium
├── solr
├── sync.sh
├── thumbor
├── travis-build.sh
├── varnish
└── workspace

相关资料

aerospike-官网
Certbot-官网
grafana-官网
codiad-官网

Aerospike使用介绍
PHP 使用 ElasticSearch 做搜索

动手做接口前应该注意哪些问题?

  • 接口认证
  • 接口参数格式字段
  • 接口版本 保留几个版本 什么情况下需要强制升级
  • 自动化测试问题
  • 模块化分
  • 接口统计问题
  • 隐式用户与显式用户
  • 对于线上的 API 必须保证所有接口正常且关闭所有的错误信息 => error_reporting(0),在输出JSON 时,不能有任何其它输出,否则,客户端将解析数据失败,app直接闪退

相关资料

API接口开发过程中的注意事项

APP接口版本兼容的问题
APP版本强制升级
APP升级二三事:APP升级场景及功能设计总结
App后端API设计版本问题

PHP / Laravel API 开发推荐阅读清单 有写关于Laravel的资料比较久

Laravel 的两个包 dingo/API nwidart/Laravel-modules 包使用的疑虑?

最近一个项目用 Laravel-5.6 匆匆的上了 其实 Laravel 也还不太熟
我想后面的项目也都用一个框架 然后项目以模块的方式开发 所以我就找了一个分模块的包 nwidart/laravel-modules

这个包最后模块也可以打成 composer 包 这样在项目的模块在开发的时候可以各负责自己的 更新的时候回也可以不用全量更新 那个模块更新就 composer 那个就行.

而接口我需要分版本 v1 v2 这样的 所以就找了这个包dingo/api 看一些评论说Transformers这个挺好用的 还没尝尝呢…

因为当时也在催着 急急忙忙就把项目上了 现在想优化下东西就感觉有点麻烦 程序目前也比较简单 我想把这两个撤掉还是继续研究这个两个包和 Laravel 的关系呢?

相关

v2ex-讨论
laravel-讨论

api_接口认证有几种方式?

laravel-passport 需要用户登录后在获得token, 但是有写接口是不需要用户登录也可以调用的.

接口不是知道URL就能调用, 而是有一个规则 只有知道并且合法的规则才可以成功调用接口.

是不是要了接口TCP/IP会对验证有更深的了解?


接口认证的方式

  • OAuth 2.0
  • HTTP Basic
  • HTTP Digest
  • WSSE(WS-Security)
  • API KEY
  • HMAC
  • JWT
  • 自定义规则算法对比验证

laravel-passport的验证类型

  • authorization_code
  • refresh_token

相关资料

常用认证方式
安全机制的设计

laravel-passport

  • laravel-5.6
  • laravel/passport ^7.0

laravel+用户认证+passport

laravel-用户认证

部署配置完后-验证结果

打开Postman或者类似的工具

方法为POST

链接为http://你的域名/oauth/token,(假如你使用了URI的前辍,则要在你的URI前加上你自定义的那个前辍)

在表单数据中添加以下项

key value
client_id 这里使用的是生成密钥里的clientid值
client_secret 这个是上面ID对应的secret
username users表里用于登录的用户名,默认为邮箱,除非你修改过默认值
password 用户登录对应的密码
grant_type password(oauth2有多种类型,我这里使用密码验证类型测试)

tip: 其中username password 是先通过生成认证系统后然后注册的用户邮箱+密码

相关资料

官方文档-Passport
中文文档-Passport OAuth 认证

Laravel Passport API 认证使用小结
在laravel中配置及测试passport
Laravel5.5+passport 放弃 dingo 开发 API 实战,让 API 开发更省心
laravel passport包使用”客户端凭证方式”疑问