我正在尝试在 nginx 后面设置 mongodb,下面是我使用的配置。但是当我重新加载 nginx 时,我不断收到以下错误。任何帮助都非常感谢。
nginx:[emerg] /etc/nginx/sites-enabled/mongodb:1 中不允许使用“stream”指令
stream {
server {
listen 27020;
proxy_connect_timeout 5s;
proxy_timeout 20s;
proxy_pass stream_mongo_backend;
}
upstream stream_mongo_backend {
server 127.0.0.1:27017;
}
}
答案1
检查包含启用站点的文件的 nginx.conf。
这可能是在http
conf 文件的部分中完成的,但是该stream
指令仅允许在main
如下所述的部分中使用:http://nginx.org/en/docs/stream/ngx_stream_core_module.html#stream
您必须在 nginx.conf 文件本身中移动您的指令:
user ...
...
http {
...
}
stream {
...
}
答案2
在/etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
....
}
stream {
server {
listen 27018;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass stream_mongo_backend;
}
upstream stream_mongo_backend {
server localhost:27017;
}
}
http {
...
}