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错误页面优雅展示

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

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

友情链接更多精彩内容