00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _PASSENGER_NGINX_CONFIGURATION_H_
00029 #define _PASSENGER_NGINX_CONFIGURATION_H_
00030
00031 #include <ngx_config.h>
00032 #include <ngx_http.h>
00033
00034 typedef struct {
00035 ngx_http_upstream_conf_t upstream_config;
00036 ngx_str_t index;
00037 ngx_array_t *flushes;
00038 ngx_array_t *vars_len;
00039 ngx_array_t *vars;
00040 ngx_array_t *vars_source;
00041
00042 ngx_flag_t enabled;
00043 ngx_flag_t use_global_queue;
00044 ngx_flag_t friendly_error_pages;
00045 ngx_flag_t analytics;
00046 ngx_flag_t debugger;
00047 ngx_str_t environment;
00048 ngx_str_t user;
00049 ngx_str_t group;
00050 ngx_str_t spawn_method;
00051 ngx_str_t app_group_name;
00052 ngx_str_t app_rights;
00053 ngx_int_t min_instances;
00054 ngx_int_t framework_spawner_idle_time;
00055 ngx_int_t app_spawner_idle_time;
00056 ngx_array_t *base_uris;
00057
00058
00059 } passenger_loc_conf_t;
00060
00061 typedef struct {
00062 ngx_str_t root_dir;
00063 ngx_str_t ruby;
00064 ngx_uint_t log_level;
00065 ngx_uint_t max_pool_size;
00066 ngx_uint_t max_instances_per_app;
00067 ngx_uint_t pool_idle_time;
00068 ngx_flag_t user_switching;
00069 ngx_str_t default_user;
00070 ngx_str_t default_group;
00071 ngx_str_t analytics_log_dir;
00072 ngx_str_t analytics_log_user;
00073 ngx_str_t analytics_log_group;
00074 ngx_str_t analytics_log_permissions;
00075 ngx_array_t *prestart_uris;
00076 } passenger_main_conf_t;
00077
00078 extern const ngx_command_t passenger_commands[];
00079 extern passenger_main_conf_t passenger_main_conf;
00080
00081 void *passenger_create_main_conf(ngx_conf_t *cf);
00082 char *passenger_init_main_conf(ngx_conf_t *cf, void *conf_pointer);
00083 void *passenger_create_loc_conf(ngx_conf_t *cf);
00084 char *passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child);
00085
00086 #endif
00087