nginx编译安装

#tar zxvf pcre**.tar.gz

#./configure && make && make install

 

编译参数:(见附录1)

 

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module –with-http_sub_module

 

--------------------------------------------------------------------------

 

Nginx内核参数在使用的时候有不少问题需要我们解决,其中在优化方面就需要我们格外的注意。在下面就是对Nginx内核参数优化的详细介绍,希望大家有所收获。

生效:sysctl –p

关于Nginx内核参数的优化:

 vi /etc/sysctl.conf

1.  net.ipv4.tcp_max_tw_buckets = 6000 

timewait的数量,默认是180000。

1.  net.ipv4.ip_local_port_range = 1024 65000 

允许系统打开的端口范围。

1.  net.ipv4.tcp_tw_recycle = 1 

启用timewait快速回收。

1.  net.ipv4.tcp_tw_reuse = 1 

开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接。

1.  net.ipv4.tcp_syncookies = 1 

开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理。

1.  net.core.somaxconn = 262144 

web应用中listen函数的backlog默认会给我们内核参数的net.core.somaxconn限制到128,而Nginx内核参数定义的NGX_LISTEN_BACKLOG默认为511,所以有必要调整这个值。

1.  net.core.netdev_max_backlog = 262144 

每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

1.  net.ipv4.tcp_max_orphans = 262144 

系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,孤儿连接将即刻被复位并打印出警告信息。这个限制仅仅是为了防止简单的DoS攻击,不能过分依靠它或者人为地减小这个值,更应该增加这个值(如果增加了内存之后)。

1.  net.ipv4.tcp_max_syn_backlog = 262144 

记录的那些尚未收到客户端确认信息的连接请求的最大值。对于有128M内存的系统而言,缺省值是1024,小内存的系统则是128。

1.  net.ipv4.tcp_timestamps = 0 

时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉。

1.  net.ipv4.tcp_synack_retries = 1 

为了打开对端的连接,内核需要发送一个SYN并附带一个回应前面一个SYN的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK包的数量。

1.  net.ipv4.tcp_syn_retries = 1 

在内核放弃建立连接之前发送SYN包的数量。

1.  net.ipv4.tcp_fin_timeout = 1 

如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60秒。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB服务器,也有因为大量的死套接字而内存溢出的风险,FIN- WAIT-2的危险性比FIN-WAIT-1要小,因为它最多只能吃掉1.5K内存,但是它们的生存期长些。

1.  net.ipv4.tcp_keepalive_time = 30 

当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时。以上就是对Nginx内核参数的详细介绍。

net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 5

时间: 2024-10-01 12:39:07

nginx编译安装的相关文章

Ubuntu下nginx编译安装参数配置_nginx

安装依赖库: sudo apt-get install libgd2-xpm sudo apt-get install libgd2-xpm-dev sudo apt-get install libgeoip-dev sudo apt-get install libpcre3 sudo apt-get install libpcre3-dev sudo apt-get install libssl-dev sudo apt-get install openssl sudo apt-get ins

Nginx编译安装错误error: the HTTP gzip module requires the zlib library

下载后,解包,并进入nginx:   tar -zxf nginx-1.4.7.tar.gz cd nginx-1.4.7  开始nginx安装:  ./configure make make install   若在"./configure"后方加入了"--with-http_gzip_static_module"(添加gzip压缩模块)提示以下错误: ./configure: error: the HTTP gzip module requires the zl

Nginx编译安装之自定义google_perftools not found

OS:CentOS 6.3 X 64  >> Nginx 1.4.7 >> google_perftools 2.1 >> libunwind 1.1 错误提示:  代码如下 复制代码 checking for zlib library - found checking for Google perftools - not found checking for Google perftools in /usr/local/gperftools - not found c

nginx编译安装ngx_lua模块的教程

I. 准备 http://www.nginx.org nginx 1.8.0 http://luajit.org/download.html LuaJIT-2.0.4 cd /tmp wget http://nginx.org/download/nginx-1.8.0.tar.gz wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz git clone https://github.com/openresty/lua-nginx-module.

nginx编译安装优化

#tar zxvf pcre**.tar.gz #./configure && make && make install   编译参数:(见附录1)   ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module –with-http_sub_module   -----

原已经安装好的nginx,现在需要添加一个未被编译安装的模块--echo-nginx-module-0.56

为了测试一个NGINX变量,将NGINX加了一个编译模板echo-nginx-module-0.56. 参照如下文件 1,先看以前NGINX有哪些东东. sbin/nginx -V nginx version: nginx/1.6.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) TLS SNI support enabled configure arguments: --prefix=/XXXX/lnmp/nginx --user=n

《高性能Linux服务器构建实战》——1.4节Nginx的安装与配置

1.4 Nginx的安装与配置 1.4.1 下载与安装Nginx Nginx的官方网站是http://sysoev.ru/nginx/,英文主页为http://nginx.net,从这里可以获得Nginx的最新版本信息.Nginx有三个版本:稳定版.开发版和历史稳定版.开发版更新较快,包含最新的功能和bug的修复,但同时也可能会出现新的bug.开发版一旦更新稳定下来,就会被加入稳定版分支中.然而有些新功能不一定会被加到稳定版中去.稳定版更新较慢,但是bug较少,可以作为生产环境的首选,因此通常建

nginx-Nginx 编译安装问题,请大家帮忙

问题描述 Nginx 编译安装问题,请大家帮忙 解决方案 换个版本试试吧,没遇到过这样的问题. 解决方案二: 你看编译出来nginx二进制文件没

CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11_Linux

准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/iptables #编辑