mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-07-24 00:55:35 +08:00
update docs
This commit is contained in:
111
docs/guide/安装.md
Normal file
111
docs/guide/安装.md
Normal file
@@ -0,0 +1,111 @@
|
||||
# 安装
|
||||
|
||||
> 这篇为炸毛框架以及环境的部署教程。
|
||||
|
||||
## 主机手动部署环境
|
||||
|
||||
### 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** 插件以提供注解命名空间自动补全、注解属性代码提醒、注解类跳转等,非常有助于提升开发效率的功能。
|
||||
Reference in New Issue
Block a user