将 Nginx 配置为 TCP 负载均衡器
Configure Nginx to be a TCP load balancer
我想使用 Nginx 1.9 作为 TCP 负载均衡器。我按照 https://www.nginx.com/resources/admin-guide/tcp-load-balancing/ 中的教程进行操作,但没有用。
每次尝试启动 nginx 时,我都会遇到错误:
nginx: [emerg] unknown directive "stream" in /opt/nginx/nginx.conf
这是我的 nginx.conf 文件:
events {
worker_connections 1024;
}
http {
# blah blah blah
}
stream {
upstream backend {
server 127.0.0.1:9630;
server 127.0.0.1:9631;
}
server {
listen 2802;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass backend;
}
}
你能告诉我如何正确配置吗?
最好的方法是从源代码编译 nginx 以支持 stream
指令:
./configure --prefix=/opt/nginx --sbin-path=/usr/sbin/nginx --conf-path=/opt/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --with-http_ssl_module --with-threads --with-stream --with-http_slice_module
make
sudo make install
在 OS X 上使用 Homebrew,可以通过以下方式完成:
brew install nginx-full --with-stream
这可能会要求您先安装 homebrew-nginx
水龙头,在这种情况下您可能需要 运行
brew install homebrew/nginx/nginx-full --with-stream
确保先安装水龙头。
如果您使用 linux,则有 nginx standard repositories。
./configure --with-stream
make
make install
我想使用 Nginx 1.9 作为 TCP 负载均衡器。我按照 https://www.nginx.com/resources/admin-guide/tcp-load-balancing/ 中的教程进行操作,但没有用。
每次尝试启动 nginx 时,我都会遇到错误:
nginx: [emerg] unknown directive "stream" in /opt/nginx/nginx.conf
这是我的 nginx.conf 文件:
events {
worker_connections 1024;
}
http {
# blah blah blah
}
stream {
upstream backend {
server 127.0.0.1:9630;
server 127.0.0.1:9631;
}
server {
listen 2802;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass backend;
}
}
你能告诉我如何正确配置吗?
最好的方法是从源代码编译 nginx 以支持 stream
指令:
./configure --prefix=/opt/nginx --sbin-path=/usr/sbin/nginx --conf-path=/opt/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --with-http_ssl_module --with-threads --with-stream --with-http_slice_module
make
sudo make install
在 OS X 上使用 Homebrew,可以通过以下方式完成:
brew install nginx-full --with-stream
这可能会要求您先安装 homebrew-nginx
水龙头,在这种情况下您可能需要 运行
brew install homebrew/nginx/nginx-full --with-stream
确保先安装水龙头。
如果您使用 linux,则有 nginx standard repositories。
./configure --with-stream
make
make install