Nginx模块http
我在我的一台服务器上使用nginx,我下载它的源代码并使用它进行编译:
./configure --prefix=/opt/nginx --user=nginx --group=nginx --with-http_ssl_module
--conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--add-module=/opt/ngx_http_substitutions_filter_module
--with-http_stub_status_module
在conf.d中设置和添加文件,并且它的工作正常。 但突然当我重新启动它给我错误消息:
nginx: [emerg] unknown directive "stub_status" in /etc/nginx/conf.d/mytest.conf:6
我查看了更多的细节,发现它无法加载模块“http_stub_status_module”。 我知道我编译它与安装。
我的问题是有什么办法我可以重新加载这个模块或添加在conf中的某个地方,使其工作?? **我不想再次安装它,因为如果我再次编译它将删除我目前的配置。
与其他软件(如Apache)不同,Nginx没有在运行时加载模块的机制; 他们必须编入英寸。
如果在构建新版本之前在旧版本上运行nginx -V
,则会收到一条消息,其中包含它所使用的configure
命令。 尝试在新的源代码树中使用同一个; 如果你实际上没有你需要的模块,那么它就会失败。 如果具有相同命令的配置和后续构建都成功,则应该有理由相信新构建与旧构建具有相同的功能。 当然,你仍然需要注意任何可能对nginx本身或任何这些模块做出的改变。
您需要使用stub_status编译nginx,将以下内容传递给./configure文件:
--with-http_stub_status_module to ./configure
Gentoo用户:启用扩展的USE-Flag status
并重新编译nginx。 /etc/portage/package.use/nginx示例:
www-servers/nginx NGINX_MODULES_HTTP: stub_status
最后,做到这一点: emerge -pav nginx
问题在于你的系统中可能有多个nginx二进制文件,现在试图在没有模块的情况下加载它。 当通过包管理器安装后,某人在源代码中编译自己的东西时,这是一种常见的情况。
链接地址: http://www.djcxy.com/p/95183.html上一篇: Nginx Module http