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 优化 两个响 应信息 的间隔 超时时 间