nginx: [emerg] unknown directive...
在nginx.conf加上以下配置
location /echo {ndg_echo ;
}
报错:
nginx: [emerg] unknown directive.../nginx.conf:...

网络上有许多的处理办法,但仍未能解决我的问题。
如:
commands中的ngx_string里边的参数是不是和配置文件nginx.conf中的参数一样
static ngx_command_t ngx_http_ndg_echo_cmds[] =
{{ngx_string("ndg_echo"),NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, //CONF文件少,作用域和类型不全ngx_http_ndg_echo,NGX_HTTP_LOC_CONF_OFFSET,offsetof(ngx_http_ndg_echo_loc_conf_t, msg),NULL},ngx_null_command
};
解决方法:
修改指令的作用域和类型,即将NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1改为NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LMT_CONF | NGX_CONF_NOARGS|NGX_CONF_TAKE1,加大其作用域和类型。
代码具体缺的是那部分指令作用域和类型仍待探索,但确实解决了nginx: [emerg] unknown directive...的问题。
static ngx_command_t ngx_http_ndg_echo_cmds[] =
{{ngx_string("ndg_echo"),NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LMT_CONF | NGX_CONF_NOARGS|NGX_CONF_TAKE1, ngx_http_ndg_echo,NGX_HTTP_LOC_CONF_OFFSET,offsetof(ngx_http_ndg_echo_loc_conf_t, msg),NULL},ngx_null_command
};

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
