首页 > 其他分享 >openresty

openresty

时间:2024-06-09 11:55:05浏览次数:11  
标签:openresty max tcp ipv4 install net

openresty

  1. 安装依赖

    #GCC (gun compiler collection)
    #gcc-c++ c++ 编译器
    yum install gcc gcc-c++ -y
    # rewrite模块需要  pcre (perl compatible regular expression  per 兼容正则表达式) 
    yum install pcre pcre-devel -y
    # zlib 配置中gizp on 使用
    yum install zlib zlib-devel -y
    # openssl 提供https 和md5 sha1等
    yum install openssl openssl-devel -y
    
  2. 优化内核参数

    #单个worker 可以打开的最大文件句柄
    fs.file-max = 999999
    # 处于time_waite 状态的socket 能够处理新的tcp 连接
    net.ipv4.tcp_tw_reuse = 1
    # 保持tcp 连接的时长 10分钟,可以更快的断开无效的连接
    net.ipv4.tcp_keepalive_time = 600
    # 当服务器主动断开时,socket保持fin_wait的时长
    net.ipv4.tcp_fin_timeout = 30
    # 允许time_wait 套字节的最大值,过大会导致web缓慢
    net.ipv4.tcp_max_tw_buckets = 5000
    #指定tcp 和 udp 在本地端口的使用范围
    net.ipv4.ip_local_port_range = 1024    61000
    # 接受tcp syn 请求的最大长度。调大改值可以避免当web请求过大时不至于丢失客户发起的连接
    net.ipv4.tcp_max_syn_backlog = 8096
    # tcp 接收缓存的最小值, 默认值 最大值
    net.ipv4.tcp_rmem = 4096 327686 262142
    # tcp 发送缓存 最小值 默认值 最大值
    net.ipv4.tcp_wmem = 4096 327686 262142
    # 当网卡接收速度大于内核处理速度是会有一个队列保存数据,
    net.core.netdev_max_backlog = 8192
    #内核套接字的接收缓冲区
    net.core.rmem_default = 262144
    net.core.rmem_max = 2097152
    #内核套接字的发送缓冲区
    net.core.wmem_default = 262144
    net.core.wmem_max = 2097152
    #用于结局tcp 的syn 攻击
    net.ipv4.tcp_syncookies = 1
    #
    net.ipv4.tcp_max_syn_backlog = 1024
    
  3. 编译

    wget https://openresty.org/download/openresty-1.21.4.3.tar.gz
    
    tar xf openresty-1.21.4.3.tar.gz
    cd openresty-1.21.4.3/
    
    ./configure
    gmake
    gmake install 
    

标签:openresty,max,tcp,ipv4,install,net
From: https://www.cnblogs.com/wangend/p/18239408

相关文章

  • Nginx(openresty) 通过lua结合Web前端 实现图片,文件,视频等静态资源 访问权限验证,进行
    1本文系统环境:安装openresty(nginx),可参考:test@ubuntuserver:~$cat/etc/os-releasePRETTY_NAME="Ubuntu24.04LTS"NAME="Ubuntu"VERSION_ID="24.04"VERSION="24.04LTS(NobleNumbat)"VERSION_CODENAME=nobleID=ubuntuID_LIK......
  • openresty实现nginx+lua
    之前直接用nginx+lua,实在麻烦,用openresty简单多了。更简单的是用docker实现openresty,参考链接:Docker安装OpenResty,步骤如下:1、拉取镜像:dockerpullopenresty/openresty2、启动:dockerrun--nameopenresty-p80:80-dopenresty/openresty3、创建宿主机目录(用于映射进do......
  • OpenResty
    原文:https://www.cnblogs.com/liekkas01/p/12757576.html cosocket是各种lua-resty-*非阻塞库的基础,没有cosocket,开发者就无法用Lua来快速连接各种外部的网络服务。在早期的OpenResty版本中,如果想要去与Redis、memcached这些服务交互的话,需要使用redis2-nginx-mod......
  • 基于K8s+Docker+Openresty+Lua+SpringCloudAlibaba的高并发秒杀系统——与京东淘宝同
    ​介绍基于K8s+Docker+Openresty+Lua+SpringCloudAlibaba的高并发高性能商品秒杀系统,本系统实测单台(16核32G主频2.2GHz)openresty(nginx)的QPS可高达6w并发,如果您需要应对100w的并发,则需要100w/6w=17台openresty服务器,17台服务器同时接收并处理这100w的并发流量呢?当然是商业......
  • openresty重定向外部的lua目录
    openresty重定向外部的lua目录背景:  目前暂定采用nginx.exe所在目录外的lua文件,因为不想把nginx.exe所在目录纳入版本控制管理,也不想添加git过滤目录。解决方案:方案1:  1.因为每个worker和master进程都需要设置lua的搜索路径,通过以下方式设置。package.path=package.pa......
  • openresty 升级
     1.下载相关的依赖包解压wget-chttp://www.zlib.net/zlib-1.2.12.tar.gzwget-chttps://www.openssl.org/source/openssl-1.1.1q.tar.gzwget-chttps://nchc.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gztar xfzlib-1.2.12.tar.gz-C /opt......
  • OpenResty中如何实现,按QPS、时间范围、来源IP进行限流
    OpenResty是一个基于Nginx与Lua的高性能Web平台,它通过LuaJIT在Nginx中运行高效的Lua脚本和模块,可以用来处理复杂的网络请求,并且支持各种流量控制和限制的功能。近期研究在OpenResty中如何实现,按QPS、时间范围、来源IP进行限流,以及动态更新限流策略。今天将实现方案分享给大家。......
  • OpenResty 介绍与实战讲解(nginx&lua)
    目录一、概述二、OpenResty安装三、OpenResty的工作原理四、OpenResty核心模块1)ngx_lua模块2)ngx_stream_lua模块3)ngx_http_lua_module模块4)ngx_http_headers_more模块5)ngx_http_echo模块6)ngx_http_lua_upstream模块7)ngx_http_redis模块8)ngx_http_proxy_connect_module......
  • 【网关开发】Openresty使用cosocket API 发送http与tcp网络请求
    背景为网关提供健康检查功能时需要对节点发送http或者tcp探活请求。Openresty提供cosocket来处理非阻塞IO。实现跟工程结合在一起,这里简单拼接数据结构localfunction__default_check_alive(status)returnstatus>=200andstatus<=299endlocalfunctiondebug_c......
  • openresty动态解析域名
    废话不多说直接上代码usernobody;worker_processesauto;#error_loglogs/error.log;#error_loglogs/error.lognotice;#error_loglogs/error.loginfo;#pidlogs/nginx.pid;events{worker_connections100000;}http{include......