1.nginx的优化 全局配置优化:修改系统ulimit限制/etc/security/limits.conf
user www www; worker_processes 2; //与CPU核心数量一致 worker_rlimit_nofile 60000;//最大打开文件数量 error_log /var/log/nginx/error_log info; //定义日志级别
event模块优化 max_clients=worker_processes*worker_connections
events{ worker_connections 10000; use epoll; } http模块优化:如果需要处理大量静态文件,需要保持这些文件句柄为打开状态,避免后续再次打开
http{ open_file_cache max=2000 inactive=20s; open_file_cache_valid 60s; open_file_cache_min_uses 5; open_file_cache_errors off; } 设置服务器最大缓存2000个文件句柄,关闭20秒内无请求的文件句柄 文件句柄的有效时间是60s,60s后过期 只有访问次数超过5次会被缓存
客户端浏览器缓存数据 http{ location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)${ access_log off; expires 30d; } } 2.常用压力测试工具 ab ab -c 并发数 -n 总请求数 url http_load http_load -p 并发数 -s 测试时间 url webbench webbench -c 并发数 -t 测试时间 url siege siege -c 并发数 -r 重复次数 url
3.防盗链 Referer:http referer是header的一部分,当浏览器向web服务器发送请求时,一般都会带上referer,告诉服务器我是从哪个页面连接过来的,服务器可以获得一些信息用于处理
location ~* \.(gif|png|jpg|flv)${ valid_referers none blocked www.uinyun.com; if($invalid_referer){ rewrite ^/ http://www.uinyun.com/403.html; } }