Nginx负载 性能优化 练习
常用命令:
start nginx
nginx -s reload
负载装起来
upstream bagall{
server localhost:10001;
server localhost:10002;
server localhost:10003;
}
location / {
#root html;
#index index.html index.htm;
proxy_pass http://bagall;
}
前面的场景 适用比如一台服务器挂了
负载策略
性能优化 之 缓存
缓存策略
缓存目录
代理缓存目录 类似路由
高级用法
https://www.cnblogs.com/f-ck-need-u/p/7684732.html
http {
include mime.types;
default_type application/octet-stream;
#levels 两层目录
proxy_cache_path /Nginx/data levels=1:2 keys_zone=web_cache:50min inactive=1m max_size=1g;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# 负载装起来
#weight= 负载策略
upstream bagall{
server localhost:10001 weight=20;
server localhost:10002 weight=30;
server localhost:10003 weight=50;
}
server {
listen 9099;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://bagall;
}
location /Admin/ {
#root html;
#index index.html index.htm;
proxy_store off;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://bagall/Admin:
#缓存使用前面定义的内存区域
proxy_cache web_cache;
#对于 200 和 304 的响应码进行缓存,过期时间为2分钟, 这里会覆盖前面定义的1分钟过期时间
proxy_cache_valid 200 304 2m;
#设置 缓存的key ,直接用URL
proxy_cache_key $schemeSproxy_host$request_uri;
}
location /Upload/ {
#root html;
#index index.html index.htm;
proxy_store off;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://bagall/Upload:
#缓存使用前面定义的内存区域
proxy_cache web_cache;
#对于 200 和 304 的响应码进行缓存,过期时间为2分钟, 这里会覆盖前面定义的1分钟过期时间
proxy_cache_valid 200 304 2m;
#设置 缓存的key ,直接用URL
proxy_cache_key $schemeSproxy_host$request_uri;
}
location /uploads/ {
#root html;
#index index.html index.htm;
proxy_store off;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://bagall/uploads:
#缓存使用前面定义的内存区域
proxy_cache web_cache;
#对于 200 和 304 的响应码进行缓存,过期时间为2分钟, 这里会覆盖前面定义的1分钟过期时间
proxy_cache_valid 200 304 2m;
#设置 缓存的key ,直接用URL
proxy_cache_key $schemeSproxy_host$request_uri;
}
-------------------------------分割线--------------------------