CentOS7.4—最新版本nginx调优

Nginx调优
目录
第一部分 优化版本信息
第二部分 保持连接
第三部分 优化进程数
第四部分 日志分割
第五部分 网页压缩

Nginx安装过程不再这里展示,请参照http://blog.51cto.com/12227558,下面直接进入调优

第一部分 优化版本信息
----------隐藏版本信息----------
第一步:查看版本信息
方法一:
[[email protected] ~]# curl -I 192.168.80.40

方法二:Wireshark抓包
Win7访问http://192.168.80.40/index.php
(注意:要后缀带php文件,才能显示出php的信息)

第二步:隐藏版本信息

  1. 隐藏nginx版本
    [[email protected] ~]# vi /usr/local/nginx/conf/nginx.conf //编辑主配置文件
    添加以下内容:

    保存退出
    [[email protected] ~]# systemctl restart nginx //重启nginx服务
  2. 隐藏php信息
    [[email protected] ~]# vi /usr/local/php/lib/php.ini
    修改以下内容:

    保存退出
    [[email protected] ~]# systemctl restart nginx //重启nginx服务

第三步:测试验证
方法一:
[[email protected] ~]# curl -I 192.168.80.40

方法二:Wireshark抓包
访问:http://192.168.80.40/index.php

//已成功隐藏

----------修改nginx版本信息---------
(注意,此方法会把现有配置全部删除,建议刚搭建完nginx时使用)
一:编辑配置文件
[[email protected] ~]# vi /opt/nginx-1.13.9/src/core/nginx.h
源码目录下修改信息:

保存退出
二:删除安装文件目录并重新编译安装
[[email protected] ~]# cd /usr/local/
[[email protected] local]# rm -rf nginx/ //删除nginx安装目录
[[email protected] local]# cd /opt/nginx-1.13.9/ //进入nignx解压包目录
[[email protected] nginx-1.13.9]#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module //定义配置
[[email protected] nginx-1.13.9]# Make //编译
[[email protected] nginx-1.13.9]# make install //安装
[[email protected] nginx-1.13.9]# killall -1 nginx //安全重启nginx服务
[[email protected] nginx-1.13.9]# nginx //启动nginx服务
[[email protected] nginx-1.13.9]# netstat -anpt | grep nginx //查看nginx运行状态
三:重新访问http://192.168.80.10,抓包验证


//伪装成功

第二部分 保持连接
一: wireshark抓包查看连接配置

二: 编辑配置文件
[[email protected] ~]# vi /usr/local/nginx/conf/nginx.conf
编辑以下内容:
keepalive_timeout 65 180; //以后者为准,可以在http\server\location设置
client_header_timeout 80; //等待客户端发送请求头的超时时间 超时会发送408错误
client_body_timeout 80; //设置客户端发送请求体超时时间

保存退出
(备注:keepalive_timeout第一个参数指定了与客户端的keep-alive连接超时时间,服务器将会在这个时间后关闭连接。可选的第二个参数指定了在响应头Keep-Alive:timeout=time中的time值。这个头能够让一些浏览器主动关闭连接,这样服务器就不必去关闭连接了。若没有这个参数,Nginx将不会发送Keep-Alive响应头)
[[email protected] ~]# service nginx restart //重启nginx服务
三: 抓包验证结果
访问http://192.168.80.40

用wireshark抓包

//配置成功

第三部分 优化进程数
将nginx服务原来由一个CPU核心处理,配置成由多个核心处理,增加处理效率
[[email protected] ~]# cat /proc/cpuinfo | grep "processor" //查看本机处理器

[[email protected] ~]# ps aux | grep nginx

[[email protected] ~]# vi /usr/local/nginx/conf/nginx.conf //编辑nginx主配置文件
编辑以下内容:

保存退出
[[email protected] ~]# nginx –t //检查语法错误

[[email protected] ~]# killall -9 nginx //结束nginx进程
[[email protected] ~]# service nginx start //启动nginx服务
[[email protected] ~]# ps aux | grep nginx //查看nginx进程

第四部分 日志分割
Nginx没有专门的命令来执行日志分割,只能通过脚本实现
[[email protected] ~]# ls /usr/local/nginx/logs/ //查看默认日志

  1. 编写日志分割脚本
    [[email protected] ~]# cd /usr/local/nginx/logs/
    [[email protected] logs]# vi fenge.sh //创建日志分割脚本
    #!/bin/bash
    #filename: fenge.sh
    D=$(date -d "-1 day" "+%Y%m%d")
    LOGS_PATH="/var/log/nginx" //指定分割日志目录
    PID_PATH="/usr/local/nginx/logs/nginx.pid"
    [ -d $LOGS_PATH ] || mkdir -p $LOGS_PATH //创建分割日志文件目录(如果存在就不创建,不存在就创建)
    mv /usr/local/nginx/logs/access.log ${LOGS_PATH}/aa.com-access.log-$D //移动并重命名分割日志文件
    kill -USR1 $(cat $PID_PATH) //重建分割日志文件
    find $LOGS_PATH -mtime +30 | xargs rm –rf //超过30天自动删除
    保存退出
  2. 执行脚本,测试日志是否被分割
    [[email protected] ~]# sh fenge.sh //执行脚本
    Win7访问http://192.168.80.40
    [[email protected] logs]# ls /var/log/nginx/ //查看分割日志,按日期分割了日志文件
  3. 做计划任务,定期分割日志
    [[email protected] logs]# crontab –e
    30 1 * sh /root/fenge.sh
    (每天的凌晨1:30分执行/opt/fenge.sh脚本,进行日志分割)

第五部分 配置网页压缩

  1. 修改Nginx的配置文件,加入压缩功能参数
    [[email protected] ~]# vi /usr/local/nginx/conf/nginx.conf
    gzip on; //开启gzip压缩
    gzip_buffers 4 64k; //表示申请4个单位为16KB的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果
    gzip_http_version 1.1; //设置识别http协议版本
    gzip_comp_level 2; //指定gzip压缩比,压缩比1最小,处理速度最快;压缩比9最大,传输速度最快,但处理速度最慢,使用默认即可
    gzip_min_length 1k; //设置允许压缩的页面最小字节数
    gzip_vary on; //让前端的缓存服务器缓存经过gzip压缩的页面
    gzip_types text/pain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss; //压缩类型,指哪些网页文档启用压缩功能

    保存退出
  2. 修改网页文件大小
    [[email protected] ~]# ls -lh /usr/local/nginx/html/ //查看html文件大小

    [[email protected] ~]# truncate -s 10k /usr/local/nginx/html/index.html
    //由于压缩配置默认为最小1KB文件,将index.html放大超过1K

    [[email protected] ~]# service nginx restart //重启nginx服务
  3. 验证
    Win7访问http://192.168.80.40

    用wireshark抓包验证结果

    //压缩生效
    (注意,如果结果出不来,清除一下浏览器缓存)

原文地址:http://blog.51cto.com/12227558/2096244

时间: 2024-08-29 16:43:46

CentOS7.4—最新版本nginx调优的相关文章

linux下安装nginx与nginx调优

linux系统为rhel5.6,nginx版本为nginx-1.1.6.tar.gz,可以到网上下载最新的安装,由于nginx是基于很多模块实现强大的功能,所以要安装并编译其他模块软件包,这里安装的模块软件包有:agentzh-encrypted-session-nginx-module-v0.02-0-gc752861.tar.gz.chunkin-nginx-module-0.23rc2.tar.gz.google-perftools-1.8.3.tar.gz.libunwind-0.99.

nginx 调优 (摘自 美团)

Nginx性能优化 作者:hanjilong 返回首页 简介 在大多数情况下,一个常规安装的Nginx对网站来说已经能很好地工作了.然而如果想挤压出Nginx的性能,就需要了解哪些指令会影响Nginx性能,在本文中将解释Nginx的哪些设置可以微调.需要注意一点,这是一个简单的预览——那些可以通过微调来提高性能设置的概述,不同的环境可能情况不太一样. 对于Nginx的调优,可以大致从如下指令着手: 1. worker_processes 2. worker_connections 3. Buff

Ubuntu 安装最新版本nginx

本人测试环境为Ubuntu13.04 1.添加key wget http://nginx.org/keys/nginx_signing.key apt-key add nginx_signing.key 2.创建/etc/apt/sources.list.d/nginx.list文件,内容如下: deb http://nginx.org/packages/mainline/ubuntu/ raring nginx deb-src http://nginx.org/packages/mainlin

nginx调优

nginx安装 1.安装依赖库 yum -y install make gcc gcc-c++ glibc glibc-devel lsof   pcre pcre-devel  zlib zlib-devel  openssl openssl--devel yum install pcre-devel pcre  zlib-devel zlib openssl-devel -y(也可以用这个依赖库) 2.下载源码包 3.解压  编译 安装 4. 启动 为什么要屏蔽nginx版本信息? 答:因为

MySQL5.6版本性能调优my.cnf详解

[client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock basedir = /usr/local/mysql datadir = /data/mysql pid-file = /data/mysql/mysql.pid user = mysql bind-address = 0.0.0.0 server-id = 1 skip-name-resolve #skip-ne

debian系统安装最新版本nginx

Nginx.org太坏了,竟然给的apt源是有误. 其实应该这样添加才行,网站给的老是报错not found vim /etc/apt/sources.list 添加如下 deb http://nginx.org/packages/mainline/debian/ jessie nginx deb-src http://nginx.org/packages/debian/ jessie nginx

nginx调优并发测试

如图显示了基本的优化思路,能够更多的socket连接和能打开更多的文件. 1.从打开文件的角度 系统层面: 先用ulimit -n看下默认一个进程能够打开的文件数默认是128,ulimit -n 50000更改打开文件数为50000 nginx层面: 在nginx中配置worker_rlimit_nofile(图中参数有些问题) worker_rlimit_nofile 20000 2.从建立sorket连接角度 系统层面: a.更改最大连接数:echo 20000 > /proc/sys/ne

Nginx 调优

隐藏 Nginx 版本号 隐藏 Nginx 软件名 更改 Nginx 服务的默认用户 优化 Nginx 服务的 worker 进程数

centos中将nginx和php整合,nginx调优

首先yum安装插件,需花去根目录/大概2.2G的大小#yum install gcc make pcre* openssl gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel freetype-devel.x86_64 autoconf automake imake libxml2-devel expat-devel cmake gcc-c++ libaio libaio-devel bzr bi