上班回家,折腾了好几个小时,才搞定nginx的各种设置。复盘如下:
1. 学习nginx的 stream模块
原先一直搞不定,其实不完全是nginx自己出问题了。
1.1 nginx的版本问题
因为是抄袭网络上的nginx相关设置,后来发现新版本那么设置就会报错。
比如:
listen 1.2.3.4:80 tcp;
在有的版本也许是对的,但在我所在的版本就是错的,就不能添加“tcp”这几个字,因为是默认的。
2.firewallD忘记开放相关的新端口
好不容易搞定了端口,nginx开始监听指定端口之后,
发现网站出了502 error,这要是有客流量的网站,简直是大事故。
庆幸自己还只是在学习。
后来捣鼓了许久才发现,原来是firewallD没有开放端口。
这么低级的错误,哈哈哈。
2. 学习了nginx的 重新编译
2.1 重新编译的版本问题
为了添加使用第三方的模块,得重新编译nginx。
重新编译的版本一定要和现有版本一致,
否则闹不清状况的话,就直接卸载现有版本重来好了,比在现有版本之上添加新模块简单。
2.2 重新编译后,复用原有的nginx config文件问题
重新编译之后,同样的config有一定概率会出错。
在原有nginx不算毛病,但新版本认为设置出错。
具体可以查看相关error日志,来有针对性的调整。
tail /var/log/nginx/error.log
3.学习了nginx 第三方的 fair 模块
处理好了第二步,这个模块就不值一提,抄袭网上设置就好。