コード例 #1
0
ファイル: NginxConfiguration.cs プロジェクト: diycp/Antd
        public static void Save(NginxConfigurationModel model)
        {
            var text = JsonConvert.SerializeObject(model, Formatting.Indented);

            FileWithAcl.WriteAllText(CfgFile, text, "644", "root", "wheel");
            ConsoleLogger.Log("[nginx] configuration saved");
        }
コード例 #2
0
ファイル: NginxParser.cs プロジェクト: diycp/Antd
 public static NginxConfigurationModel ParseOptions(NginxConfigurationModel nginxConfigurationModel, string text)
 {
     nginxConfigurationModel.User      = CaptureGroup(text, "user[\\s]+([\\d\\w]+)");
     nginxConfigurationModel.Group     = CaptureGroup(text, "user[\\s]+[\\d\\w]+[\\s]+([\\d\\w]+);");
     nginxConfigurationModel.Processes = CaptureGroup(text, "worker_processes[\\s]+[\\d]+;");
     nginxConfigurationModel.FileLimit = CaptureGroup(text, "worker_rlimit_nofile[\\s]+[\\d]+;");
     nginxConfigurationModel.ErrorLog  = CaptureGroup(text, "error_log[\\s]+[\\w\\/.\\s\\d]+;");
     return(nginxConfigurationModel);
 }
コード例 #3
0
ファイル: NginxParser.cs プロジェクト: diycp/Antd
        //(events[\s]+{[\s]+[\w\s_;]+[\s]+})
        public static NginxConfigurationModel ParseEventsOptions(NginxConfigurationModel nginxConfigurationModel, string text)
        {
            var regex         = new Regex("(events[\\s]+{[\\s]+[\\w\\s_;]+[\\s]+})");
            var matchedGroups = regex.Match(text).Groups;
            var capturedText  = matchedGroups[1].Value;

            nginxConfigurationModel.EventsWorkerConnections = CaptureGroup(capturedText, "worker_connections[\\s]+[\\d]+;");
            nginxConfigurationModel.EventsMultiAccept       = CaptureGroup(capturedText, "multi_accept[\\s]+[\\w]+;");
            nginxConfigurationModel.EventsUse         = CaptureGroup(capturedText, "use[\\s]+[\\w]+;");
            nginxConfigurationModel.EventsAcceptMutex = CaptureGroup(capturedText, "accept_mutex[\\s]+[\\w]+;");
            return(nginxConfigurationModel);
        }
コード例 #4
0
ファイル: NginxConfiguration.cs プロジェクト: diycp/Antd
        private static NginxConfigurationModel Parse(string text)
        {
            var model = new NginxConfigurationModel {
                IsActive = false
            };

            model = NginxParser.ParseOptions(model, text);
            model = NginxParser.ParseEventsOptions(model, text);
            var upstreams = NginxParser.ParseUpstream(text);

            model.Upstreams = upstreams;
            var http = NginxParser.ParseHttpProtocol(text);

            model.Http = http;
            var servers = NginxParser.ParseServer(text);

            model.Servers = servers;
            return(model);
        }