Nginx

在 nginx 後面設置 mongodb

  • May 28, 2021

我正在嘗試在 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;
   }  
}

檢查包含啟用站點的文件的 nginx.conf。

這可能在httpconf 文件的部分中完成,但該stream指令僅在此處所述的main部分中允許:http: //nginx.org/en/docs/stream/ngx_stream_core_module.html#stream

您必須在 nginx.conf 文件本身中移動您的指令:

user ...
...
http {
 ...
}
stream {
 ...
}

/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 {
...
}

引用自:https://serverfault.com/questions/869452