Tengine添加nginx_lua_module模块
1、初始化系统环境
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 30
net.ipv4.ip_local_port_range = 10000 65000
修改/etc/sysctl.conf
2、ulimit
修改/etc/security/limits.conf 文件,发现其下面已新增了nofile的值 ,如下:
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
注:limits.conf文件实际上就是ulimit命令的配置文件。nproc为打开的最大进程数,nofile为打开的最大文件数。该处和上面的/etc/profile是重复设置的。实现上该处增加了以后,/etc/profile就不用再做配置的,而且该处配置更规范些,可以对用户进行限制 。
即然以上两处都做了设置,还是有上面的提示,神奇了。后来又乱折腾了半天,突然想到之前在centos 6.3版本配置的时候,
centos 6.X以后新增了一个/etc/security/limits.d/90-nproc.conf 文件,用于控制nproc 。这里面的默认配置是
* soft nproc 1024
root soft nproc unlimited
修改为
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
1、软件包下载地址:
http://luajit.org/download/LuaJIT-2.0.5.tar.gz
https://github.com/simplresty/ngx_devel_kit/releases
https://github.com/openresty/lua-nginx-module/releases
http://tengine.taobao.org/download.html
2、安装依赖包,避免编译出错:
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc g++ gcc-c++ gd-devel
3、安装配置LuaJIT:因为nginx_lua_module需要它来解析Lua
tar xf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make install prefix=/usr/local/luajit
make install
4、添加一个用户
useradd -s /sbin/nginx -M nginx
5、编译Nginx,这里使用动态加载模块的方法。自1.9.11开始,nginx支持动态加载模块
tar -zxf lua-nginx-module-0.10.11.tar.gz
unzip ngx_devel_kit-0.3.0.zip
unzip nginx_tcp_proxy_module-master.zip
tar -zxf tengine-2.2.3.tar.gz
cd tengine-2.2.3
./configure \
--prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--error-log-path=/usr/local/logs/error.log \
--http-log-path=/usr/local/logs/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-mail \
--with-mail_ssl_module \
--add-module=../ngx_devel_kit-0.3.0 \
--add-module=../lua-nginx-module-0.10.2 --add-module=/home/jyapp/nginx_tcp_proxy_module-master
make && make install
6、增加一个软连接
ln -sf /usr/local/lib/libluajit-5.1.so /lib64/libluajit-5.1.so.2
mkdir -p /var/temp/nginx/client
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2017-12-25 configparser模块