运行
命令
相关的命令详见:app
> ./gob app
业务应用控制命令,其包含业务启动,关闭,重启,查询等功能
Usage:
gob app [flags]
gob app [command]
Available Commands:
start 启动一个Web服务
Flags:
-h, --help help for app
Use "gob app [command] --help" for more information about a command.
这里的运行是运行整个 app,这个 app 可以只包含后端,也可以只包含前端,但是后端也是隐藏在前端后面运行。具体可以参考 app/http/route.go
package http
import (
"github.com/chenbihao/gob/app/http/controller/demo"
"github.com/chenbihao/gob/framework/gin"
)
func Routes(r *gin.Engine) {
r.Static("/dist/", "./dist/")
r.GET("/demo/demo", demo.Demo)
}
启动
可以使用 ./gob app start
启动一个应用。
> gob app start
Server Started , Local: http://localhost:8080
也可以使用 ./gob app start -d
使用 daemon 模式启动一个应用。应用名称为 gob app
(目前win不支持daemon模式启动)
> ./gob app start -d
成功启动进程: gob app
进程pid: xxxxx
app 应用的输出记录在 /storage/log/app.log
进程 id 记录在 /storage/pid/app.pid
状态
当使用 daemon 模式启动的时候,需要查看当前应用是否有启动,如果启动了,进程号是多少,可以使用命令 ./gob app state
> ./gob app state
app服务已经启动, pid: xxxxx
重启
当使用 daemon 模式启动的时候,需要重启应用,可以使用命令 ./gob app restart
如果程序还未启动,调用 restart 命令,效果和 start 命令一样,daemon 模式启动应用
停止
当使用 daemon 模式启动的时候,需要关闭应用,可以使用命令 ./gob app stop
进程运行基础配置
在启动进程的时候,我们会需要定义一些配置项,这些配置项决定进程的运行环境(比如日志存放位置,运行态信息存放位置,配置文件存放位置等)。
这里我们提供了3种配置方式来设置这些基础配置,包括环境变量设置,命令行参数设置,配置文件设置。
这三种配置方式的优先级为:命令行参数 > 环境变量 > 配置文件
具体的配置项常用的如下,具体更多可以参考 framework/provider/app/service.go
:
- 运行中间信息存放目录
- 命令行参数:--runtime_folder
- 环境变量:RUNTIME_FOLDER
- 配置文件:app.path.runtime_folder
- 不设置默认为:运行信息基础目录 + runtime
- 日志存放目录
- 命令行参数:--log_folder
- 环境变量:LOG_FOLDER
- 配置文件:app.path.log_folder
- 不设置默认为:运行信息基础目录 + log
- 运行信息基础目录
- 命令行参数:--storage_folder
- 环境变量:STORAGE_FOLDER
- 配置文件:app.path.storage_folder
- 不设置默认为:基础目录 + storage
- 配置文件地址
- 命令行参数:--config_folder
- 环境变量:CONFIG_FOLDER
- 配置文件:app.path.config_folder
- 不设置默认为:基础目录 + config
- 基础目录
- 命令行参数:--base_folder
- 环境变量:BASE_FOLDER
- 配置文件:app.path.base_folder
- 不设置默认为:当前执行目录
环境变量设置
在启动进程的时候进行环境变量的设置。比如
STORAGE_FOLDER=/path/gob/storage ./gob app start
命令行参数设置
在命令行参数中设置。比如
./gob app start --storage_folder=/path/gob/storage/ -d
配置文件设置
在配置文件config/${env}/app.yaml
中配置:
path:
storage_folder: "/path/gob/storage/"