Merge pull request #602 from andyleap/fcgi

Add basic FCGI support
release/v1.15
无闻 2014-11-03 21:04:00 -05:00
commit 6588ce52fe
2 changed files with 7 additions and 0 deletions

View File

@ -9,6 +9,7 @@ import (
"html/template" "html/template"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"net/http/fcgi"
"os" "os"
"path" "path"
"strings" "strings"
@ -416,6 +417,8 @@ func runWeb(*cli.Context) {
err = http.ListenAndServe(listenAddr, m) err = http.ListenAndServe(listenAddr, m)
case setting.HTTPS: case setting.HTTPS:
err = http.ListenAndServeTLS(listenAddr, setting.CertFile, setting.KeyFile, m) err = http.ListenAndServeTLS(listenAddr, setting.CertFile, setting.KeyFile, m)
case setting.FCGI:
err = fcgi.Serve(nil, m)
default: default:
log.Fatal(4, "Invalid protocol: %s", setting.Protocol) log.Fatal(4, "Invalid protocol: %s", setting.Protocol)
} }

View File

@ -28,6 +28,7 @@ type Scheme string
const ( const (
HTTP Scheme = "http" HTTP Scheme = "http"
HTTPS Scheme = "https" HTTPS Scheme = "https"
FCGI Scheme = "fcgi"
) )
var ( var (
@ -181,6 +182,9 @@ func NewConfigContext() {
CertFile = Cfg.MustValue("server", "CERT_FILE") CertFile = Cfg.MustValue("server", "CERT_FILE")
KeyFile = Cfg.MustValue("server", "KEY_FILE") KeyFile = Cfg.MustValue("server", "KEY_FILE")
} }
if Cfg.MustValue("server", "PROTOCOL") == "fcgi" {
Protocol = FCGI
}
Domain = Cfg.MustValue("server", "DOMAIN", "localhost") Domain = Cfg.MustValue("server", "DOMAIN", "localhost")
HttpAddr = Cfg.MustValue("server", "HTTP_ADDR", "0.0.0.0") HttpAddr = Cfg.MustValue("server", "HTTP_ADDR", "0.0.0.0")
HttpPort = Cfg.MustValue("server", "HTTP_PORT", "3000") HttpPort = Cfg.MustValue("server", "HTTP_PORT", "3000")