Files
zhamao-framework/docs/guide/安装.md
2020-11-22 19:21:29 +08:00

111 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 安装
> 这篇为炸毛框架以及环境的部署教程。
## 主机手动部署环境
### Ubuntu / Debian / Kali
需要的系统内软件包为:`php php-dev php-mbstring gcc make openssl php-mbstring php-json php-curl php-mysql wget composer`
下面是一个一键安装的命令行(最小安装,需 root 权限):
```bash
apt-get update && apt-get install -y software-properties-common && add-apt-repository ppa:ondrej/php && apt-get update && apt-get install php php-dev php-mbstring gcc make openssl php-mbstring php-json php-curl php-mysql -y && apt-get install wget composer -y && wget https://github.com/swoole/swoole-src/archive/v4.5.7.tar.gz && tar -zxvf v4.5.7.tar.gz && cd swoole-src-4.5.7/ && phpize && ./configure --enable-openssl --enable-mysqlnd && make -j2 && make install && (echo "extension=swoole.so" >> $(php -i | grep "Loaded Configuration File" | awk '{print $5}'))
```
### macOS (with Homebrew)
macOS 系统下的部署相对简单很多,只需要使用 Homebrew 安装以下包和执行安装命令即可
!!! note "给 macOS 开发者的提示"
因为苹果新的 Apple Sillicon 对 Homebrew 的支持目前仅限于 Rosetta2 转译版,
所以在使用 M1-based Mac 时出现问题暂时无解。
使用以下指令可能会遇到报错等问题,如有疑问可直接使用 Docker 或咨询我(炸毛框架开发者)。
```bash
brew install php composer
pecl install swoole
```
## 手动部署框架
```bash
# 方法1: 从 composer 模板项目快速新建(前提是主机有安装 composer
composer create-project zhamao/framework-starter 你的项目名称
# 方法2: 从 composer 引入项目(前提是主机有安装 composer
mkdir 你的项目名称 && cd 你的项目名称
composer require zhamao/framework
vendor/bin/start init
```
## Docker 部署环境和框架
对于不想部署到主机环境的情况,推荐直接使用 Docker。
!!! Note "提示"
本框架内安装的 Docker 容器包括框架本身和开发者开发的模块代码等,此镜像也可用于其他 Swoole 框架的启动,框架本身是需要从 GitHub 拉取或 composer 拉取的。
### Docker 容器拉取和构建
```bash
# 自行构建 Swoole 环境容器
git clone https://github.com/zhamao-robot/zhamao-swoole-docker.git
cd zhamao-swoole-docker/
docker build -t zm .
# 或者使用 dockerhub 构建好的镜像构建 Swoole 环境容器
docker pull zmbot/swoole
```
### 使用 Docker 容器初始化 composer 和框架代码
```bash
# 使用 GitHub 克隆快速开始项目仓库
git clone https://github.com/zhamao-robot/zhamao-framework-starter.git
cd zhamao-framework-starter
docker run -it --rm -v $(pwd):/app/ -p 20001:20001 zm composer update
# 如果使用 dockerhub 拉取的,把 `zm` 换成 `zmbot/swoole` 即可
```
## 启动框架
```bash
# 本地环境拉取 zhamao-framework-starter 后启动方式
cd zhamao-framework-starter
vendor/bin/start server
# 使用 Docker 启动
docker run -it --rm -v $(pwd):/app/ -p 20001:20001 zm vendor/bin/start server # 如果使用 dockerhub 拉取的,把 `zm` 换成 `zmbot/swoole` 即可
```
启动后你会看到和下方类似的初始化内容,表明启动成功了
```verilog
$ vendor/bin/start server
host: 0.0.0.0 | port: 20001
log_level: 2 | version: 2.0.0
config: global.php | worker_num: 4
working_dir: /Users/jerry/project/git-project/zhamao-framework
______
|__ / |__ __ _ _ __ ___ __ _ ___
/ /| '_ \ / _` | '_ ` _ \ / _` |/ _ \
/ /_| | | | (_| | | | | | | (_| | (_) |
/____|_| |_|\__,_|_| |_| |_|\__,_|\___/
[14:27:31] [I] [#0] Worker #0
[14:27:31] [I] [#2] Worker #2
[14:27:31] [I] [#1] Worker #1
[14:27:31] [I] [#3] Worker #3
[14:27:31] [S] [#3] Worker #3
[14:27:31] [S] [#0] Worker #0
[14:27:31] [S] [#2] Worker #2
[14:27:31] [S] [#1] Worker #1
```
单纯运行 炸毛框架 后,如果不部署或安装启动任何机器人客户端的话,仅仅相当于启动了一个 监听 20001 端口的WebSoket + HTTP 服务器。你可以通过浏览器访问http://127.0.0.1:20001 ,或者你部署到了服务器后需要输入服务器地址。
## 使用 IDE 等工具开发代码
我们使用文本编辑器进行炸毛框架开发,在使用集成开发环境 **IDEA****PhpStorm** 时,推荐通过插件市场搜索并安装 **PHP Annotations** 插件以提供注解命名空间自动补全、注解属性代码提醒、注解类跳转等,非常有助于提升开发效率的功能。