运行

命令

这里的运行是运行整个 app,这个 app 可以只包含后端,也可以只包含前端,但是后端也是隐藏在前端后面运行。具体可以参考 app/http/route.go

package http

import (
	"github.com/gohade/hade/app/http/controller/demo"
	"github.com/gohade/hade/framework/gin"
)

func Routes(r *gin.Engine) {
	r.Static("/dist/", "./dist/")
	r.GET("/demo/demo", demo.Demo)
}

运行相关的命令为 app。

[~/Documents/workspace/hade_workspace/demo5]$ ./hade app
start app serve

Usage:
  hade app [flags]
  hade app [command]

Available Commands:
  restart     restart app server
  start       start app server
  state       get app pid
  stop        stop app server

Flags:
  -h, --help   help for app

Use "hade app [command] --help" for more information about a command.

启动

可以使用 ./hade app start 启动一个应用。

成功启动进程: hade app
进程pid: 39327
监听地址: http://localhost:8888
基础路径: /Users/jianfengye/Documents/workspace/gohade/hade/
日志路径: /Users/jianfengye/Documents/workspace/gohade/hade/teststorage/log
运行路径: /Users/jianfengye/Documents/workspace/gohade/hade/teststorage/runtime
配置路径: /Users/jianfengye/Documents/workspace/gohade/hade/config

也可以使用 ./hade app start -d 使用 deamon 模式启动一个应用。应用名称为 hade app

[~/Documents/workspace/hade_workspace/demo5]$ ./hade app start -d
成功启动进程: hade app
进程pid: 41021
监听地址: http://localhost:8888
基础路径: /Users/jianfengye/Documents/workspace/gohade/hade/
日志路径: /Users/jianfengye/Documents/workspace/gohade/hade/teststorage/log
运行路径: /Users/jianfengye/Documents/workspace/gohade/hade/teststorage/runtime
配置路径: /Users/jianfengye/Documents/workspace/gohade/hade/config

app 应用的输出记录在 /storage/log/app.log

进程 id 记录在 /storage/pid/app.pid

状态

当使用 deamon 模式启动的时候,需要查看当前应用是否有启动,如果启动了,进程号是多少,可以使用命令 ./hade app state

[~/Documents/workspace/hade_workspace/demo5]$ ./hade app state
app服务已经启动, pid: 41021

重启

当使用 deamon 模式启动的时候,需要重启应用,可以使用命令 ./hade app restart

TIP

如果程序还未启动,调用 restart 命令,效果和 start 命令一样,deamon 模式启动应用

停止

当使用 deamon 模式启动的时候,需要关闭应用,可以使用命令 ./hade 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=/Users/jianfengye/Documents/workspace/gohade/hade/teststorage ./hade app start

命令行参数设置

在命令行参数中设置。比如

./hade app start --storage_folder=/Users/jianfengye/Documents/workspace/gohade/hade/teststorage/ -d

配置文件设置

在配置文件config/${env}/app.yaml中配置:

path:
storage_folder: "/Users/jianfengye/Documents/workspace/gohade/hade/teststorage/"
Last Updated:
Contributors: yejianfeng, jianfengye