🏗️

服务配置

设置 Addr

r := znet.New() // 默认端口是3788,如果要修改可以以下方式 r.SetAddr(":5000") r.SetAddr("127.0.0.1:3781") // 需要绑定多个端口 r.AddAddr(":3782") // 生成私钥 // openssl genrsa -out server.key 2048 // 生成证书 // openssl req -new -x509 -key server.key -out server.crt -days 3650 // 要使用 HTTPS 则只要传递证书文件 r.AddAddr(":443",znet.TlsCfg{ // http 重定向 https // HTTPAddr: ":80", // HTTPProcessing: "https://zjhttps.73zls.com", Key: "key/domain.key", Cert: "key/domain.pem",// or domain.crt }) // 如果需要多服务只要再 New 一个即可 r2 := znet.New() r2.SetAddr(":6666") // 如果需要随机端口,使用 ":0" 即可 r.SetAddr(":0") // 启动服务 znet.Run()

设置运行模式

r.SetMode(znet.DebugMode) // 开发模式 r.SetMode(znet.TestMode) // 测试模式 r.SetMode(znet.ProdMode) // 生产模式(默认)

设置模板目录

// 使用 resource 目录作为模板 r.LoadHTMLGlob("resource/*.html") // 使用 resource 全部子目录的 html 文件作为模板 r.LoadHTMLGlob("resource/**/*.html") // 设置模板自定义函数 r.SetTemplateFuncMap(template.FuncMap{ "test": func() string {return ""}, })
模板示例
// 定义模板名称,调用时候使用 // c.Template(200, "user/index.html", map[string]interface{}{"name":"Pikachu"}) {{ define "user/index.html" }} {{template "public/header" .}} {{ end }}

设置超时时间

// ReadTimeout WriteTimeout r.SetTimeout(10 * time.Second)
警告:请看清下图,如果是要控制 HTTP 请求时间请使用 timeout 中间件
notion image