nginx對socket轉發設置

參考:https://www.cnblogs.com/vijayfly/p/7663552.html

參考:https://blog.csdn.net/xqnode/article/details/83062033

因爲socket

stream配置不能放到http內,即不能放到/etc/nginx/conf.d/,因爲stream是通過tcp層轉發,而不是http轉發

# tcp流
stream {
    # 添加socket轉發的代理
    upstream da_service {
        #hash $remote_addr consistent;  #均衡方式,使用遠程ip的hash算法,ip一樣的均衡到同一個機器
        least_conn;  # 均衡方式,當前連接數最少的server來處理
        server 172.16.70.122:8908 weight=1;
        server 172.16.70.123:8908 weight=1;
        #ip_hash;
    }
    # 提供轉發服務,即訪問forward.xxx.cn:80,並配置好請求頭,會調整至proxy_forward指定的地址
    server {
        #listen       127.0.0.1:80;
        listen       9000;
        proxy_pass da_service;

    }

}

# 下面是http流,stream 不能放在http裏面
http {
    .......
}

 

nginx默認安裝的時候無法加載流stream模塊,需要在啓動參數里加上–with-stream。
解決方法:
重新對源文件進行編譯、安裝,通過添加–with-stream參數指定安裝stream模塊。

./configure --with-stream
make & make install


再次檢查nginx.conf配置文件,確認配置無語法錯誤後,再次嘗試啓動服務。

./nginx


這個時候就可以啓動成功了。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章