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
};

在这里插入图片描述


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

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部