mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-11-03 19:17:29 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			684 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			684 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import (
 | 
						|
	"flag"
 | 
						|
	"log"
 | 
						|
	"sync"
 | 
						|
 | 
						|
	"github.com/mholt/caddy/config"
 | 
						|
	"github.com/mholt/caddy/server"
 | 
						|
)
 | 
						|
 | 
						|
var conf string
 | 
						|
 | 
						|
func init() {
 | 
						|
	flag.StringVar(&conf, "conf", server.DefaultConfigFile, "the configuration file to use")
 | 
						|
}
 | 
						|
 | 
						|
func main() {
 | 
						|
	var wg sync.WaitGroup
 | 
						|
 | 
						|
	flag.Parse()
 | 
						|
 | 
						|
	vhosts, err := config.Load(conf)
 | 
						|
	if err != nil {
 | 
						|
		if config.IsNotFound(err) {
 | 
						|
			vhosts = config.Default()
 | 
						|
		} else {
 | 
						|
			log.Fatal(err)
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	for _, conf := range vhosts {
 | 
						|
		s, err := server.New(conf)
 | 
						|
		if err != nil {
 | 
						|
			log.Fatal(err)
 | 
						|
		}
 | 
						|
		wg.Add(1)
 | 
						|
		go func(s *server.Server) {
 | 
						|
			defer wg.Done()
 | 
						|
			err := s.Serve()
 | 
						|
			if err != nil {
 | 
						|
				s.Log(err)
 | 
						|
			}
 | 
						|
		}(s)
 | 
						|
	}
 | 
						|
 | 
						|
	wg.Wait()
 | 
						|
}
 |