# 安装
## [安装 Composer](http://getcomposer.org/)
`ESD`框架利用 [Composer](http://getcomposer.org/) 来管理自身的依赖。因此,在使用之前,请务必确认是否在你的开发机上安装了 Composer。
## 安装PhpStrom插件
建议安装如下插件
![](https://box.kancloud.cn/36fe7f49736903d2069d32f7a4d75749_792x143.png)
## 安装 EasySwoole Distributed
~~~php
composer require "esd/esd-server":"~0.1"
## 在项目根目录 执行初始化命令
php ./vendor/esd/esd-server/Install.php
~~~
启动ESD
~~~php
php start_server.php start
~~~
访问
http://127.0.0.1:8080/
# docker 快速开发环境
EasySwoole Distributed 的 docker 镜像,免安装扩展,一键启动适合ESD运行的开发环境。
~~~
➜ docker run -it --rm -p 8080:8080 -v $PWD:/data registry.cn-beijing.aliyuncs.com/anythink/esd:latest
_____ ____ ____ ____ _ _
| ____/ ___|| _ \ | _ \ _ _ _ __ | |_(_)_ __ ___ ___
| _| \___ \| | | | | |_) | | | | '_ \| __| | '_ ` _ \ / _ \
| |___ ___) | |_| | | _ <| |_| | | | | |_| | | | | | | __/
|_____|____/|____/ |_| \_\\__,_|_| |_|\__|_|_| |_| |_|\___|
ESD framework Runtime Environment
version 1.5 author by anythink
root@f41132062911:/data#
~~~
## 拉取镜像
`docker pull registry.cn-beijing.aliyuncs.com/anythink/esd:latest`
## 启动镜像
`docker run -it --rm -p 8080:8080 -v $PWD:/data registry.cn-beijing.aliyuncs.com/anythink/esd:latest`
请在 ESD 根目录运行容器,否则修改$PWD为代码根路径(windows需要用%cd%替换$PWD),如果修改了端口请把8080 修改为自己使用的端口.
镜像启动后的目录即挂载到主机的代码目录,注意 Mac 系统无法使用 inotify 热加载功能。
容器启动后按照安装步骤,运行框架。
## 定制 Dockerfile
修改完Dockerfile后,在 Dockerfile 文件同级目录执行以下命令生成自己的docker 镜像
~~~
docker build -t registry.cn-beijing.aliyuncs.com/anythink/esd:latest .
~~~
然后按照上面的方式启动镜像。
### 相关说明
如果使用Mac系统想从docker里访问宿主的服务比如redis,mysql,则需使用 192.168.65.2 或者 host.docker.internal 。
如果非Mac系统,则需使用 172.17.0.1
[查看相关链接](https://docs.docker.com/docker-for-mac/networking/#there-is-no-docker0-bridge-on-macos)
>[info] [安装的软件与扩展请查看 Dockerfile](https://github.com/esd-projects/docker/blob/master/Dockerfile)
- 前言
- 捐赠ESD项目
- 使用篇-通用
- 环境
- 安装
- 规范
- 压力测试
- 配置
- 如何设置YML配置
- server配置
- 端口配置
- 项目结构
- 事件派发
- 日志
- 注解
- DI容器
- 自定义进程
- 并发及协程池
- Console插件
- Scheduled插件
- Redis插件
- AOP插件
- Saber插件
- Mysql插件
- mysql事务
- Actuator插件
- Whoops插件
- Cache插件
- PHPUnit插件
- Security插件
- Session插件
- EasyRoute插件
- http路由
- ProcessRpc插件
- AutoReload插件
- AnnotationsScan插件
- Tracing-plugin插件
- MQTT插件
- Pack插件
- AMQP插件
- Validate插件
- Uid插件
- Topic插件
- Blade插件
- CsvReader插件
- hashed-wheel-timer-plugin插件
- 使用篇-HTTP
- 路由
- 静态文件
- 路由定义
- 修饰方法
- 路由分组
- 资源路由
- 端口作用域
- 异常处理
- 跨域请求
- 路由缓存
- 控制器
- 控制器初始化
- 前置操作
- 跳转和重定向
- 异常处理
- 请求
- 请求对象
- 请求信息
- request消息
- response消息
- stream消息
- url接口
- 验证器
- 内置验证器
- 内置过滤器
- 使用篇-WS
- 如何使用
- 路由
- 使用篇-TCP
- 插件篇-PluginSystem
- 微服务篇-ESDCloud
- CircuitBreaker插件
- SaberCloud插件
- 分布式链路追踪系统
- Consul插件