来源:https://newbedev.com/unknown-directive-stream-in-etc-nginx-nginx-conf-86
unknown directive “stream” in /etc/nginx/nginx.conf:86
Solution:
Solution 1:
The stream module is being added as dynamic, as per:
--with-stream=dynamic
You need it to be ‘static’ - so load the module directly. To do so, add the following at the very top of your nginx.conf:
load_module /usr/lib/nginx/modules/ngx_stream_module.so;
Then:
nginx -t
If all is well:
nginx -s reload
service nginx restart
Edit:
-s signal’ Send signal to the master process. The argument signal can be one of: stop, quit, reopen, reload. The following table shows the corresponding system signals.
stop' SIGTERM
quit' SIGQUIT
reopen' SIGUSR1
reload' SIGHUP
Solution 2:
Have not enough reputation to comment Joe’s answer, so writing here:
On CentOS7, the modules path located under lib64 folder. So, you need to add this line:
load_module '/usr/lib64/nginx/modules/ngx_stream_module.so';
Solution 3:
I have come across this issue with nginx on Amazon Linux running on AWS EC2 instance, and my /usr/lib64/nginx/modules/ folder was empty.
I installed the module with yum:
yum install nginx-mod-stream
The stream directive works now without changing the nginx.conf.