一、错误代码
[root@xxx nginx]# ./sbin/nginx -t
nginx: [emerg] unknown directive "stream" in /usr/local/nginx//conf/nginx.conf:118
nginx: configuration file /usr/local/nginx//conf/nginx.conf test failed
#或者这种
[root@xxx nginx]# ./sbin/nginx -t
nginx: [emerg] dlopen() "/usr/lib64/nginx/modules/ngx_stream_module.so" failed (/usr/lib64/nginx/modules/ngx_stream_module.so: undefined symbol: ngx_ssl_session_cache_init) in /usr/local/nginx/conf/nginx.conf:2
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
这种说明当初安装nginx的时候没有带着stream参数一起构建
二、解决办法(只适用于自行安装的,yum安装的需要用yum下载同版本的stream)
1、删除原来构建出来的nginx
2、重新构建nginx
# 添加使用--with-stream=dynamic 配置
./configure --prefix=/usr/local/nginx/ --with-stream=dynamic
# 然后make make install
make
make install
3、到/usr/local/nginx/ 中发现多了modules文件夹
4、修改nginx.conf文件, 在首行添加 load_module /usr/local/nginx/modules/ngx_stream_module.so;
5、再次把stream加入到nginx.conf里
6、保存配置文件, 并测试配置文件
完成!!!