nginx.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package models
  2. import "github.com/astaxie/beego"
  3. // Nginx nginx data
  4. type Nginx struct {
  5. Id int `orm:"pk;auto" json:"id"`
  6. Name string `json:"name"`
  7. Uid string `json:"uid"`
  8. VersionInfo string `orm:"size(2550)" json:"versionInfo"`
  9. // 是否以服务的形式进行托管
  10. IsServer bool `json:"isServer"`
  11. NginxPath string `json:"nginxPath"`
  12. // nginx的配置文件所在目录,即nginx.conf所在的目录
  13. NginxDir string `json:"nginxDir"`
  14. // 数据目录,所有的配置文件目录
  15. DataDir string `json:"dataDir"`
  16. IsLocal bool `json:"isLocal"`
  17. IpAddr string `json:"ipAddr"`
  18. Port int `json:"port"`
  19. User string `json:"user"`
  20. Password string `json:"password"`
  21. HttpData string `orm:"type(text)" json:"httpData"`
  22. HttpConf string `orm:"type(text)" json:"httpConf"`
  23. Remark string `json:"remark"`
  24. }
  25. // Check 检查参数,给默认值
  26. func (t *Nginx) Check() {
  27. if t.DataDir == "" {
  28. t.DataDir = beego.AppConfig.String("datadir")
  29. }
  30. if t.NginxPath == "" {
  31. t.NginxPath = beego.AppConfig.String("nginxPath")
  32. }
  33. if t.NginxDir == "" {
  34. t.NginxDir = beego.AppConfig.String("nginxDir")
  35. }
  36. }
  37. // ServerHost nginx data
  38. type ServerHost struct {
  39. Id int `orm:"pk;auto" json:"id"`
  40. Enable bool `json:"enable"`
  41. // is tcp or udp, default is false
  42. IsStream bool `json:"isStream"`
  43. NginxId int `json:"nginxId"`
  44. Uid string `json:"uid"`
  45. Name string `json:"name"`
  46. // 记录一下上一次刷新保存的名字
  47. LastName string `json:"lastName"`
  48. // 前端完整的 server_host配置数据
  49. ServerData string `orm:"type(text)" json:"serverData"`
  50. // nginx server.conf content
  51. ServerConf string `orm:"type(text)" json:"serverConf"`
  52. Remark string `json:"remark"`
  53. }
  54. // NginxCerts nginx证书, ServiceName域名,唯一不可重复
  55. type NginxCerts struct {
  56. Id int `orm:"pk;auto" json:"id"`
  57. ServiceName string `orm:"unique" json:"serviceName"`
  58. Uid string `json:"uid"`
  59. Key string `orm:"type(text)" json:"key"`
  60. Pem string `orm:"type(text)" json:"pem"`
  61. NginxId int `json:"nginxId"`
  62. ExpiresAt string `json:"expiresAt"`
  63. SubjectName string `json:"subjectName"`
  64. // 系统的提示信息
  65. HintMsg string `json:"hintMsg"`
  66. CreatedAt string `json:"createdAt"`
  67. Remark string `json:"remark"`
  68. }