linux nginx 优化,针对Nginx的Linux系统优化

## 关闭不需要的服务

## 优化写磁盘操作

Nginx每访问一次文件即会对Access Time进行更新

### 如何关闭Access Time

修改fstab在指定磁盘增加`noatime`和`nodiratime`属性。这样写如果要生效只能重启系统

使用命令重新挂在可以即时生效。

~~~

mount -o default,noatime,nodiratime -o remount /dev/mapper/centos-root /

~~~

## 优化资源限制

ulimit -n

单个用户对文件描述符的使用限制,即打开的文件数限制

ulimit -u

单个用户拥有的进程数限制

修改/etc/security/limits.conf中,这个生效需要重启系统

~~~

* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

~~~

即时生效

~~~

ulimit -n 65535

ulimit -u 65535

~~~

## 优化TCP内核选项

~~~

net.ipv4.tcp_max_tw_buckets = 6000 # 设置timewait,默认值18000

net.ipv4.tcp_tw_recycle = 1# 是否启动timewait快速回收,默认值0

net.ipv4.tcp_tw_reuse = 1# 是否允许将TIME WAIT SOCKET重新用于TCP连接,默认值0

net.ipv4.ip_local_port_range = 1024 65000# 允许打开的端口范围

net.ipv4.tcp_syncookies = 1# 默认值0,如果使用SYN队列溢出时,则使用cookies来处理

net.core.somaxconn = 32768# web的listen函数会将net.core.somaxconn限制到128,因此这个值需要调整

net.ipv4.tcp_max_orphans = 3276800# 默认值32768,不属于任何请求的套接字数量

net.ipv4.tcp_max_syn_backlog = 65536 # 尚未收到客户端确认信息的连接请求最大值

net.ipv4.tcp_timestamps = 0# 默认值1,使用时间戳作为序列号,但在高速环境中应关闭

net.ipv4.tcp_syn_retries = 1# 默认值5,内核放弃建立连接之前发送的SYN包数量

net.ipv4.tcp_synack_retries = 1 # 默认值5,TCP第2次握手,内核需要ACK前一个SYN,减小这个有利于避免DDOS攻击

net.ipv4.tcp_fin_timeout = 1# 如果套接字由本端关闭,这个设置了FIN_WAIT-2状态的时间,FIN_WAIT-2的危险性小于FIN_WAIT-1,因为,FIN_WAIT-2最多只能占据1.5kb内存

net.ipv4.tcp_keepalive_time = 30# 默认值7200,设置TCP发送keepalive消息的频度

~~~

## 优化Nginx服务器

### 关闭部分访问日志

### Nginx服务配置优化

~~~

worker_connections 65535

keepalive_timeout 60

client_header_buffer_size 8k# getconfig PAGESIZE获取页面大小

worker_rlimit_nofile 65535

~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值