# micro-hau
**Repository Path**: toshcn/micro-hau
## Basic Information
- **Project Name**: micro-hau
- **Description**: 用Yii2定制自己的API框架
- **Primary Language**: Unknown
- **License**: BSD-3-Clause
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2022-04-12
- **Last Updated**: 2024-06-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Hau is a Yii2 API Template
Hau 是用Yii2框架搭建的API模板 [Yii 2](http://www.yiiframework.com/) .
Documentation is at [README.md](https://gitee.com/toshcn/micro-hau/README.md).
[](https://packagist.org/packages/yiisoft/yii2-app-advanced)
[](https://packagist.org/packages/yiisoft/yii2-app-advanced)
[](https://travis-ci.org/yiisoft/yii2-app-advanced)
DIRECTORY STRUCTURE
-------------------
```
api
components/ api组件类目录
config/ api配置
controllers/ 控制器类存放目录
models/ 公共模型类和表单类目录 模型类与数据库表一一对应
modules/ 模块分类目录
runtime/ 运行时目录
web/ Web 应用根目录,包含 Web 入口文件
index.php 应用入口文件
common
actions/ 公共控制器动作类目录
components/ 公共组件类目录
config/ 公共配置
language/ 国际化语言相关
models/ 公共模型类和表单类目录 模型类与数据库表一一对应
common
config/ 公共配置
mail/ 邮件视图view存放目录
models/ 公共模型类和表单类目录 模型类与数据库表一一对应
tests/ 测试相关:如单元测试
console
config/ 控制台配置
controllers/ 控制台控制器类存放目录 (commands)
migrations/ 数据库迁移文件目录
models/ 控制台模型类目录
runtime/ 运行时目录
vendor/ composer第三方依赖包目录
docs/ 文档目录
yii Yii控制台命令入口(linux):如shell控制台下运行php yii 可以看到yii命令的帮助说明
```
Installation
### 克隆仓库代码到本地
```
git clone https://gitee.com/toshcn/micro-hau.git
```
配置数据库和缓存
到common\config目录下,main-local.php配置文件,配置好数据库账号密码等。缓存组件建议使用memcache或redis。
```
[
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=hau_yii2',
'username' => 'root',
'password' => '',
'charset' => 'utf8mb4',
'tablePrefix' => 'hau_',
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
],
'cache' => [
'class' => 'yii\caching\MemCache',
'servers' => [
[
'host' => '127.0.0.1',
'port' => 11211,
'weight' => 100,
],
],
'useMemcached' => false
],
],
];
```
### 配置web服务器
Api接口 nginx配置如:
```
server {
listen 80;
server_name yourhost.com;
root "/home/www/hau_yii2/api/web";
location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php$is_args$args;
#autoindex on;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
```
本地图片 nginx配置如:
```
server {
listen 80;
server_name pic.yourhost.com;
root "/home/www/hau_yii2/upload";
add_header Access-Control-Allow-Origin '*' always;
add_header 'Access-Control-Expose-Headers' 'Authorization,X-Custom-Header,Content-Disposition';
add_header Accept-Ranges bytes;
location / {
}
}
```
### 数据库迁移
在当前代码根目录下,运行控制台命令php yii migrate迁移数据库, 选项yes安装全部迁移。
```
$ php yii migrate