• 添加nginx中的stream模块


    注:
    1.nginx从1.9.0开始,新增加了一个stream模块,所以本文适用于1.9.0版本以上的nginx。

    2.没有特殊标注需要root的用普通nginx用户就可以,比如你在a用户下安装nginx 那就su - a 就可以啦,但是编译的话一定要用root,不然会报权限错误问题。
    3.具体问题,具体分析,以下内容仅供参考。

    以下正文:

    模块加载位置(root用户加载):

    Cd  /nginx-1.21.0
    
    • 1

    加载模块 添加–with-stream

    ./configure --prefix=/home /nginx/nginx --add-module=/home /nginx-rtmp-module-master --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/home /openssl-1.1.1b --with-pcre=/home /pcre-8.43 --with-stream
    
    • 1

    加载完成后进行make编译
    千万不要进行make install !!!

    完成编译后 现将之前的nginx文件进行备份

    Cd /home/nginx/nginx/sbin(启动文件位置)
    Cp nginx nginx.bak.xxx
    
    • 1
    • 2

    再将编译好的nginx文件复制过来(编译文件)

    Cp  /nginx-1.21.0/objs/nginx .
    
    • 1

    因为加的是–with-stream 所以要将nginx.conf修改一下 添加上模块内容

    Cd /home /nginx/nginx/conf
    Vi nginx.conf
    
    • 1
    • 2

    添加需要的内容,格式如下:

    stream{
    ..........
    }
    
    • 1
    • 2
    • 3

    重启nginx(/home/nginx/nginx/sbin)

    ./nginx -s reload
    
    • 1

    诶嘿!报错了.
    线程数不够,具体报错忘截图了。
    解决如下:
    修改nginx.conf

    Worker_connections 1024  改成102400
    
    • 1

    再次启动,诶嘿,又报错了
    nginx 出错:socket() failed (24: Too many open files) while connecting to upstream
    修改linux打开文件句柄数,编辑vi /etc/security/limits.conf(需要root修改),添加

                                
    *                soft             nofile          204800
    *                hard            nofile          204800
    
    • 1
    • 2
    • 3

    修改nginx打开文件数, 编辑nginx.conf,添加worker_rlimit_nofile值

    worker_rlimit_nofile 20480;
    
    • 1

    再再次启动,诶嘿,又又报错了
    nginx: [error] open() “/run/nginx.pid” failed (2: No such file or directory)(类似错误,就是找不到nginx.pid文件)

    这是/logs下没有nginx.pid文件
    在/home /nginx/nginx/sbin 执行

    ./nginx -c /home /nginx/nginx/conf/nginx.conf
    
    • 1

    再再再次执行,好了!!

    查看页面,没有问题。

    添加模块成功!!!

    总结:仅仅只是添加一个模块,就会出现很多错误,但只要细心观察,耐心解决,还有什么解决不了的呢。
    生活愉快~

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    Vim程序编辑器
    BUU-pwn(六)
    Spring IOC源码:obtainFreshBeanFactory 详解(上)
    docker容器内访问主机端口服务
    物联网中基于WiFi的室内温度检测系统设计
    【电商数仓】数仓BI工具集成之Zabbix入门、部署、配置、启停、使用
    【解决方法】树莓派4B安装wiringpi失败、gpio -v与gpio readall命令not found(arm64架构)
    Maven execution terminated abnormally (exit code 1) 创建Maven项目时报错解决方法
    redis-集群-1-主从复制:单台机器模拟主从复制,一主二从
    软件测试之发现问题的方法
  • 原文地址:https://blog.csdn.net/m0_67403013/article/details/126081483