參考: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
這個時候就可以啓動成功了。