123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package main
- import (
- "flag"
- "fmt"
- "github.com/0xJacky/Nginx-UI/internal/kernal"
- "github.com/0xJacky/Nginx-UI/internal/logger"
- "github.com/0xJacky/Nginx-UI/internal/nginx"
- "github.com/0xJacky/Nginx-UI/internal/upgrader"
- "github.com/0xJacky/Nginx-UI/router"
- "github.com/0xJacky/Nginx-UI/settings"
- "github.com/gin-gonic/gin"
- "github.com/jpillora/overseer"
- "github.com/jpillora/overseer/fetcher"
- "log"
- "net/http"
- )
- func Program(state overseer.State) {
- defer logger.Sync()
- logger.Infof("Nginx configuration directory: %s", nginx.GetConfPath())
- kernal.Boot()
- if state.Listener != nil {
- err := http.Serve(state.Listener, router.InitRouter())
- if err != nil {
- logger.Error(err)
- }
- }
- logger.Info("Server exited")
- }
- func main() {
- var confPath string
- flag.StringVar(&confPath, "config", "app.ini", "Specify the configuration file")
- flag.Parse()
- settings.Init(confPath)
- gin.SetMode(settings.ServerSettings.RunMode)
- r, err := upgrader.GetRuntimeInfo()
- if err != nil {
- log.Fatalln(err)
- }
- overseer.Run(overseer.Config{
- Program: Program,
- Address: fmt.Sprintf("%s:%s", settings.ServerSettings.HttpHost, settings.ServerSettings.HttpPort),
- Fetcher: &fetcher.File{Path: r.ExPath},
- TerminateTimeout: 0,
- })
- }
|