nginx优化

1. 安全优化

1.1 隐藏nginx版本信息

修 改 nginx 配置文件实现优化 /etc/nginx/nginx.conf

# http层添加
server_tokens off;

# 重启nginx

1.2 修改nginx运行进程用户

修改配置文件 /etc/nginx/nginx.conf

user  www;

1.3 修改 nginx work_processes进程数量

修改配置文件 /etc/nginx/nginx.conf

worker_processes  1;   #一 般 和 CPU 的核 数设置 一致; 高并发 可以和 CPU 核数 2 倍

# 查看核心数量
lscpu
top 按1
cat /proc/cpuinfo

1.4 Nginx 站点目 录文件及目录权限优化

只 将 用 户 上 传数据 的目录 设置为 755, 用户和 组使用 www
其 余 目 录 和 文件为 755/644,用户 和组使 用 root

1.7 优化nginx服务上传文件大小限制

client_max_body_size 设置 客户端 请求报 文主体 最大尺 寸
用 户 上传文件 大 小

1.8 Nginx 图片及目录防盗链解决方案

1. 加水印
2. $http_referer(用户从哪里跳转过来的 . 记录着用户从哪里跳转到网站 用户从哪里找到你网站)
只要是跳转的给你禁止
location 匹配 请求 uri
if ( $http_referer !~ "www.oldboyedu.com") {
    return 403;
}
3. 用户每次访问的时候给用户设置 1 个 cookie   # 开发做的

1.9 Nginx 防爬虫优化

利 用 robots.txt 机 器人协 议防止 爬虫( 君子协 议)
 在网站站点目录下面,放robots.txt文件
利 用 $http_user_agent 变量阻 止爬 虫代理 访问( 2 种方 法)
Nginx 防 爬 虫 优化(spider|bot)
利 用 程 序 开 发验证 码信息 ,阻止 进行爬 虫
sem 百 度 竞 价
#搜 索 引 擎 : 把 网 址 页 面 收入 进来 方 便 大 家 搜索 的时候 能
找 到
#公 司 爬 取 用 户数据

1.10 控制 nginx 并发连接数

利 用 limit_conn_zone 参 数和$binary_remote_addr 变量限
制 nginx 单 IP 地 址并发 连接数
利 用 limit_conn_zone 参 数和$server_name r 变量限 制
nginx 虚 拟 主 机总连 接数

1.11控 制 客 户 端 请求 Nginx 的速 率

#定义了大小为10M的空间,区的名称,一秒处理一个请求
limit_req_zone $binary_remote_addr zone=req_one:10m rate=1r/s;
server {
    listen 80;
    server_name limit.zy.com;
#调取上面的区,请求超过1r/s,剩下最多允许三个延迟处理,总共在一秒里超过了4个就503
    limit_req zone=req_one burst=3 nodelay; 
    location / {
        root /limit;
        index index.html;
    }
}

2. 性能优化

配置Nginx gzip压缩实现性能优化

配置Nginx expires实现客户端缓存数据

location ~* \.(gif|jpg|jpeg|png|bmp|ico)$ {
      root /var/www/img/;
     expires 30d;
 }

优化 nginx 服务进程均匀分配到不同 CPU 进行处理(cpu亲和力)

利 用 worker_cpu_affinity 进 行优化 (cpu 亲和 力) 让 CPU 的
每隔核心 平 均
4 颗 CPU 优 化配 置参数 为 0001 0010 0100 1000
2 颗 CPU 优 化配 置参数 为 0101 1010
worker_cpu_affinity 0101 1010;
worker_cpu_affinity auto;
Linux 系 统 设置 cpu 亲和 力 taskset (15k)

优 化 nginx 单进 程客 户端连 接数

利 用 worker_connections 连接参 数进行 调整
用 户 最 大 并 发连接 数=worker 进程数 *worker 连接数

优 化 nginx 服务 进程 打开文 件数

利 用 worker_rlimit_nofile 参数 进行 调整(65535)

优 化 nginx 服务 数据 高效传 输模式

利 用 sendfile on 开 启高效 传输模 式
tcp_nopush on 表 示 将数 据积攒 到一定 的量再 进行传 输
tcp_nodelay on 表 示将数 据信息 进行快 速传输

优 化 nginx 服务 超时 信息

keepalive_timeout 优化 客户端 访问 nginx 服务端 超时时 间
http 协 议 特 点: 连 接 断开后会给 你保留 一段时 间
client_header_timeout 优化服 务端读 请求头 超时时 间
client_body_timeout 优化两 个请求 主体发 送间隔 超时时 间
send_timeout 优化 两个响 应信息 的间隔 超时时 间

3. 感知优化

Nginx错误页面优雅展示

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,245评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,749评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,960评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,575评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,668评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,670评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,664评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,422评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,864评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,178评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,340评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,015评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,646评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,265评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,494评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,261评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,206评论 2 352

推荐阅读更多精彩内容

  • 1 基本安全优化 1.1 隐藏版本信息 一般来说,软件的漏洞都和版本相关,所以我们要隐藏或消除web服务对访问用户...
    秋风LP阅读 411评论 0 1
  • 编译安装过程优化 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之...
    马舒宁阅读 457评论 0 0
  • 1.优化配置文件vim/usr/local/nginx/conf/nginx.conf 增加并发量 worker_...
    浮游生物ye阅读 330评论 0 0
  • client_body_buffer_size 1m; //请求体缓冲区大小(post大的要设置)client_m...
    SkTj阅读 452评论 0 6
  • 在实际的开发和应用中偶发的502,504让人头痛,下面转发一个写的比较全面的。 PHP-fpm PHP-FPM是一...
    daos阅读 2,351评论 2 18