--sysconfdir=DIR

This commit is contained in:
Igor Sysoev 2007-07-29 18:05:45 +00:00
parent 0051242013
commit a1df416d65
17 changed files with 59 additions and 37 deletions

1
auto/configure vendored
View File

@ -67,6 +67,7 @@ fi
have=NGX_PREFIX value="\"$NGX_PREFIX/\"" . auto/define have=NGX_PREFIX value="\"$NGX_PREFIX/\"" . auto/define
have=NGX_SBIN_PATH value="\"$NGX_SBIN_PATH\"" . auto/define have=NGX_SBIN_PATH value="\"$NGX_SBIN_PATH\"" . auto/define
have=NGX_CONF_PREFIX value="\"$NGX_CONF_PREFIX/\"" . auto/define
have=NGX_CONF_PATH value="\"$NGX_CONF_PATH\"" . auto/define have=NGX_CONF_PATH value="\"$NGX_CONF_PATH\"" . auto/define
have=NGX_PID_PATH value="\"$NGX_PID_PATH\"" . auto/define have=NGX_PID_PATH value="\"$NGX_PID_PATH\"" . auto/define
have=NGX_LOCK_PATH value="\"$NGX_LOCK_PATH\"" . auto/define have=NGX_LOCK_PATH value="\"$NGX_LOCK_PATH\"" . auto/define

View File

@ -26,19 +26,22 @@ install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \
test ! -f '$NGX_SBIN_PATH' || mv '$NGX_SBIN_PATH' '$NGX_SBIN_PATH.old' test ! -f '$NGX_SBIN_PATH' || mv '$NGX_SBIN_PATH' '$NGX_SBIN_PATH.old'
cp $NGX_OBJS/nginx '$NGX_SBIN_PATH' cp $NGX_OBJS/nginx '$NGX_SBIN_PATH'
test -d '`dirname "$NGX_CONF_PATH"`' \ test -d '$NGX_CONF_PREFIX' || mkdir -p '$NGX_CONF_PREFIX'
|| mkdir -p '`dirname "$NGX_CONF_PATH"`'
cp conf/koi-win '`dirname "$NGX_CONF_PATH"`' cp conf/koi-win '$NGX_CONF_PREFIX'
cp conf/koi-utf '`dirname "$NGX_CONF_PATH"`' cp conf/koi-utf '$NGX_CONF_PREFIX'
cp conf/win-utf '`dirname "$NGX_CONF_PATH"`' cp conf/win-utf '$NGX_CONF_PREFIX'
test -f '`dirname "$NGX_CONF_PATH"`/mime.types' || \ test -f '$NGX_CONF_PREFIX/mime.types' \
cp conf/mime.types '`dirname "$NGX_CONF_PATH"`/mime.types' || cp conf/mime.types '$NGX_CONF_PREFIX'
cp conf/mime.types '`dirname "$NGX_CONF_PATH"`/mime.types.default' cp conf/mime.types '$NGX_CONF_PATH/mime.types.default'
test -f '$NGX_CONF_PATH' || cp conf/nginx.conf '$NGX_CONF_PATH' test -f '$NGX_CONF_PREFIX/fastcgi_params' \
cp conf/nginx.conf '`dirname "$NGX_CONF_PATH"`/nginx.conf.default' || cp conf/fastcgi_params '$NGX_CONF_PREFIX'
cp conf/fastcgi_params '$NGX_CONF_PATH/fastcgi_params.default'
test -f '$NGX_CONF_PATH' || cp conf/nginx.conf '$NGX_CONF_PREFIX'
cp conf/nginx.conf '$NGX_CONF_PREFIX/nginx.conf.default'
test -d '`dirname "$NGX_PID_PATH"`' \ test -d '`dirname "$NGX_PID_PATH"`' \
|| mkdir -p '`dirname "$NGX_PID_PATH"`' || mkdir -p '`dirname "$NGX_PID_PATH"`'

View File

@ -6,6 +6,7 @@ help=no
NGX_PREFIX= NGX_PREFIX=
NGX_SBIN_PATH= NGX_SBIN_PATH=
NGX_CONF_PREFIX=
NGX_CONF_PATH= NGX_CONF_PATH=
NGX_ERROR_LOG_PATH= NGX_ERROR_LOG_PATH=
NGX_PID_PATH= NGX_PID_PATH=
@ -123,6 +124,7 @@ do
--prefix=*) NGX_PREFIX="$value" ;; --prefix=*) NGX_PREFIX="$value" ;;
--sbin-path=*) NGX_SBIN_PATH="$value" ;; --sbin-path=*) NGX_SBIN_PATH="$value" ;;
--sysconfdir=*) NGX_CONF_PREFIX="$value" ;;
--conf-path=*) NGX_CONF_PATH="$value" ;; --conf-path=*) NGX_CONF_PATH="$value" ;;
--error-log-path=*) NGX_ERROR_LOG_PATH="$value";; --error-log-path=*) NGX_ERROR_LOG_PATH="$value";;
--pid-path=*) NGX_PID_PATH="$value" ;; --pid-path=*) NGX_PID_PATH="$value" ;;
@ -240,6 +242,7 @@ cat << END
--prefix=PATH set the installation prefix --prefix=PATH set the installation prefix
--sbin-path=PATH set path to the nginx binary file --sbin-path=PATH set path to the nginx binary file
--sysconfdir=PATH set the configuration prefix
--conf-path=PATH set path to the nginx.conf file --conf-path=PATH set path to the nginx.conf file
--error-log-path=PATH set path to the error log --error-log-path=PATH set path to the error log
--pid-path=PATH set path to nginx.pid file --pid-path=PATH set path to nginx.pid file
@ -360,6 +363,7 @@ fi
NGX_PREFIX=${NGX_PREFIX:-/usr/local/nginx} NGX_PREFIX=${NGX_PREFIX:-/usr/local/nginx}
NGX_CONF_PREFIX=${NGX_CONF_PREFIX:-$NGX_PREFIX}
case ".$NGX_SBIN_PATH" in case ".$NGX_SBIN_PATH" in
@ -381,11 +385,11 @@ case ".$NGX_CONF_PATH" in
;; ;;
.) .)
NGX_CONF_PATH=$NGX_PREFIX/conf/nginx.conf NGX_CONF_PATH=$NGX_CONF_PREFIX/conf/nginx.conf
;; ;;
*) *)
NGX_CONF_PATH=$NGX_PREFIX/$NGX_CONF_PATH NGX_CONF_PATH=$NGX_CONF_PREFIX/$NGX_CONF_PATH
;; ;;
esac esac

View File

@ -148,6 +148,7 @@ fi
cat << END cat << END
nginx path prefix: "$NGX_PREFIX" nginx path prefix: "$NGX_PREFIX"
nginx binary file: "$NGX_SBIN_PATH" nginx binary file: "$NGX_SBIN_PATH"
nginx configuration prefix: "$NGX_CONF_PREFIX"
nginx configuration file: "$NGX_CONF_PATH" nginx configuration file: "$NGX_CONF_PATH"
nginx pid file: "$NGX_PID_PATH" nginx pid file: "$NGX_PID_PATH"
END END

View File

@ -656,7 +656,7 @@ ngx_getopt(ngx_cycle_t *cycle, int argc, char *const *argv)
cycle->conf_file.data = (u_char *) NGX_CONF_PATH; cycle->conf_file.data = (u_char *) NGX_CONF_PATH;
} }
if (ngx_conf_full_name(cycle, &cycle->conf_file) == NGX_ERROR) { if (ngx_conf_full_name(cycle, &cycle->conf_file, 1) == NGX_ERROR) {
return NGX_ERROR; return NGX_ERROR;
} }
@ -826,7 +826,7 @@ ngx_core_module_init_conf(ngx_cycle_t *cycle, void *conf)
ccf->pid.data = (u_char *) NGX_PID_PATH; ccf->pid.data = (u_char *) NGX_PID_PATH;
} }
if (ngx_conf_full_name(cycle, &ccf->pid) == NGX_ERROR) { if (ngx_conf_full_name(cycle, &ccf->pid, 0) == NGX_ERROR) {
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
@ -846,7 +846,7 @@ ngx_core_module_init_conf(ngx_cycle_t *cycle, void *conf)
ccf->lock_file.data = (u_char *) NGX_LOCK_PATH; ccf->lock_file.data = (u_char *) NGX_LOCK_PATH;
} }
if (ngx_conf_full_name(cycle, &ccf->lock_file) == NGX_ERROR) { if (ngx_conf_full_name(cycle, &ccf->lock_file, 0) == NGX_ERROR) {
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }

View File

@ -641,7 +641,7 @@ ngx_conf_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
ngx_log_debug1(NGX_LOG_DEBUG_CORE, cf->log, 0, "include %s", file.data); ngx_log_debug1(NGX_LOG_DEBUG_CORE, cf->log, 0, "include %s", file.data);
if (ngx_conf_full_name(cf->cycle, &file) == NGX_ERROR) { if (ngx_conf_full_name(cf->cycle, &file, 1) == NGX_ERROR) {
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
@ -681,9 +681,10 @@ ngx_conf_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
ngx_int_t ngx_int_t
ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name) ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name, ngx_uint_t conf_prefix)
{ {
u_char *p; size_t len;
u_char *p, *prefix;
ngx_str_t old; ngx_str_t old;
if (name->data[0] == '/') { if (name->data[0] == '/') {
@ -704,14 +705,22 @@ ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name)
old = *name; old = *name;
name->len = cycle->root.len + old.len; if (conf_prefix) {
len = sizeof(NGX_CONF_PREFIX) - 1;
prefix = (u_char *) NGX_CONF_PREFIX;
} else {
len = cycle->root.len;
prefix = cycle->root.data;
}
name->len = len + old.len;
name->data = ngx_palloc(cycle->pool, name->len + 1); name->data = ngx_palloc(cycle->pool, name->len + 1);
if (name->data == NULL) { if (name->data == NULL) {
return NGX_ERROR; return NGX_ERROR;
} }
p = ngx_cpymem(name->data, cycle->root.data, cycle->root.len), p = ngx_cpymem(name->data, prefix, len);
ngx_cpystrn(p, old.data, old.len + 1); ngx_cpystrn(p, old.data, old.len + 1);
return NGX_OK; return NGX_OK;
@ -734,7 +743,7 @@ ngx_conf_open_file(ngx_cycle_t *cycle, ngx_str_t *name)
if (name) { if (name) {
full = *name; full = *name;
if (ngx_conf_full_name(cycle, &full) == NGX_ERROR) { if (ngx_conf_full_name(cycle, &full, 0) == NGX_ERROR) {
return NULL; return NULL;
} }

View File

@ -320,7 +320,8 @@ char *ngx_conf_check_num_bounds(ngx_conf_t *cf, void *post, void *data);
char *ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename); char *ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename);
ngx_int_t ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name); ngx_int_t ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name,
ngx_uint_t conf_prefix);
ngx_open_file_t *ngx_conf_open_file(ngx_cycle_t *cycle, ngx_str_t *name); ngx_open_file_t *ngx_conf_open_file(ngx_cycle_t *cycle, ngx_str_t *name);
void ngx_cdecl ngx_conf_log_error(ngx_uint_t level, ngx_conf_t *cf, void ngx_cdecl ngx_conf_log_error(ngx_uint_t level, ngx_conf_t *cf,
ngx_err_t err, char *fmt, ...); ngx_err_t err, char *fmt, ...);

View File

@ -260,7 +260,7 @@ ngx_conf_set_path_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
path->name.len--; path->name.len--;
} }
if (ngx_conf_full_name(cf->cycle, &path->name) == NGX_ERROR) { if (ngx_conf_full_name(cf->cycle, &path->name, 0) == NGX_ERROR) {
return NULL; return NULL;
} }

View File

@ -109,7 +109,7 @@ char *ngx_conf_set_access_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
curr->name.len = sizeof(path) - 1; \ curr->name.len = sizeof(path) - 1; \
curr->name.data = (u_char *) path; \ curr->name.data = (u_char *) path; \
\ \
if (ngx_conf_full_name(cf->cycle, &curr->name) == NGX_ERROR) { \ if (ngx_conf_full_name(cf->cycle, &curr->name, 0) == NGX_ERROR) { \
return NGX_CONF_ERROR; \ return NGX_CONF_ERROR; \
} \ } \
\ \

View File

@ -333,7 +333,7 @@ ngx_set_error_log(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
} else { } else {
cf->cycle->new_log->file->name = value[1]; cf->cycle->new_log->file->name = value[1];
if (ngx_conf_full_name(cf->cycle, &cf->cycle->new_log->file->name) if (ngx_conf_full_name(cf->cycle, &cf->cycle->new_log->file->name, 0)
== NGX_ERROR) == NGX_ERROR)
{ {
return NGX_CONF_ERROR; return NGX_CONF_ERROR;

View File

@ -198,7 +198,7 @@ ngx_int_t
ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert,
ngx_str_t *key) ngx_str_t *key)
{ {
if (ngx_conf_full_name(cf->cycle, cert) == NGX_ERROR) { if (ngx_conf_full_name(cf->cycle, cert, 1) == NGX_ERROR) {
return NGX_ERROR; return NGX_ERROR;
} }
@ -211,7 +211,7 @@ ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert,
return NGX_ERROR; return NGX_ERROR;
} }
if (ngx_conf_full_name(cf->cycle, key) == NGX_ERROR) { if (ngx_conf_full_name(cf->cycle, key, 1) == NGX_ERROR) {
return NGX_ERROR; return NGX_ERROR;
} }
@ -242,7 +242,7 @@ ngx_ssl_client_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert,
return NGX_OK; return NGX_OK;
} }
if (ngx_conf_full_name(cf->cycle, cert) == NGX_ERROR) { if (ngx_conf_full_name(cf->cycle, cert, 1) == NGX_ERROR) {
return NGX_ERROR; return NGX_ERROR;
} }

View File

@ -352,7 +352,7 @@ ngx_http_auth_basic_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
} }
if (conf->user_file.data) { if (conf->user_file.data) {
if (ngx_conf_full_name(cf->cycle, &conf->user_file) != NGX_OK) { if (ngx_conf_full_name(cf->cycle, &conf->user_file, 1) != NGX_OK) {
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }

View File

@ -198,7 +198,7 @@ ngx_http_geo(ngx_conf_t *cf, ngx_command_t *dummy, void *conf)
if (ngx_strcmp(value[0].data, "include") == 0) { if (ngx_strcmp(value[0].data, "include") == 0) {
file = value[1]; file = value[1];
if (ngx_conf_full_name(cf->cycle, &file) == NGX_ERROR){ if (ngx_conf_full_name(cf->cycle, &file, 1) == NGX_ERROR){
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }

View File

@ -378,7 +378,7 @@ ngx_http_map(ngx_conf_t *cf, ngx_command_t *dummy, void *conf)
if (ngx_strcmp(value[0].data, "include") == 0) { if (ngx_strcmp(value[0].data, "include") == 0) {
file = value[1]; file = value[1];
if (ngx_conf_full_name(cf->cycle, &file) == NGX_ERROR){ if (ngx_conf_full_name(cf->cycle, &file, 1) == NGX_ERROR){
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }

View File

@ -454,7 +454,7 @@ ngx_http_perl_init_interpreter(ngx_conf_t *cf, ngx_http_perl_main_conf_t *pmcf)
#endif #endif
if (pmcf->modules.data) { if (pmcf->modules.data) {
if (ngx_conf_full_name(cf->cycle, &pmcf->modules) != NGX_OK) { if (ngx_conf_full_name(cf->cycle, &pmcf->modules, 0) != NGX_OK) {
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
} }

View File

@ -1223,7 +1223,8 @@ ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *path,
return NULL; return NULL;
} }
if (ngx_conf_full_name((ngx_cycle_t *) ngx_cycle, path) == NGX_ERROR) { if (ngx_conf_full_name((ngx_cycle_t *) ngx_cycle, path, 0)== NGX_ERROR)
{
return NULL; return NULL;
} }
@ -1947,7 +1948,7 @@ ngx_http_core_type(ngx_conf_t *cf, ngx_command_t *dummy, void *conf)
if (ngx_strcmp(value[0].data, "include") == 0) { if (ngx_strcmp(value[0].data, "include") == 0) {
file = value[1]; file = value[1];
if (ngx_conf_full_name(cf->cycle, &file) == NGX_ERROR){ if (ngx_conf_full_name(cf->cycle, &file, 1) == NGX_ERROR){
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
@ -2290,7 +2291,7 @@ ngx_http_core_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
conf->root.len = sizeof("html") - 1; conf->root.len = sizeof("html") - 1;
conf->root.data = (u_char *) "html"; conf->root.data = (u_char *) "html";
if (ngx_conf_full_name(cf->cycle, &conf->root) == NGX_ERROR) { if (ngx_conf_full_name(cf->cycle, &conf->root, 0) == NGX_ERROR) {
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
} }
@ -2739,7 +2740,7 @@ ngx_http_core_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
} }
if (lcf->root.data[0] != '$') { if (lcf->root.data[0] != '$') {
if (ngx_conf_full_name(cf->cycle, &lcf->root) == NGX_ERROR) { if (ngx_conf_full_name(cf->cycle, &lcf->root, 0) == NGX_ERROR) {
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
} }

View File

@ -926,7 +926,9 @@ ngx_http_variable_document_root(ngx_http_request_t *r,
return NGX_ERROR; return NGX_ERROR;
} }
if (ngx_conf_full_name((ngx_cycle_t *) ngx_cycle, &path) == NGX_ERROR) { if (ngx_conf_full_name((ngx_cycle_t *) ngx_cycle, &path, 0)
== NGX_ERROR)
{
return NGX_ERROR; return NGX_ERROR;
} }