源站
- 这种类型的站点,上面是有真实文件的,是把本地file转成可以通过http进行访问的站点。一般配置中只是有root就可以了。
server {
listen 80;
server_name static.123.net;
access_log /opt/123/logs/nginx/a.log;
error_log /opt/123/logs/nginx/e.log;
location / {
root /opt/123/nginx/html;
index index.html index.htm;
}
}
反向代理,缓存站点
- 这类站点功能类似CDN,不会直接去访问磁盘拿取文件,而是通过http协议或者https协议去源站拿文件,然后缓存在本地,供接下来的使用。
# http下面,或者全局里面配置
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=STATIC:200m inactive=24h max_size=1g;
#
## proxy_cache_path指的是存放cache的位置,如果没有此文件夹,重启nginx会报错
## keys_zone=STATIC:200m 表示这个zone名称为STATIC,分配的内存大小为200MB
## inactive=24h表示这个zone中的缓存文件如果在1天内都没有被访问,那么文件会被cache manager进程删除掉
## max_size=1g 表示最大缓存大小为1G
location ~* (/gateway/v1/phone/getAppOtherTimeNews*|/gateway/v1/phone/newscontent*) {
client_body_buffer_size 500M;
proxy_cache STATIC;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 304 10m;
add_header Access-Control-Allow-Origin *;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
rewrite /gateway/v1(.+)$ $1 break;
proxy_pass http://localhost:7700;
}
location /gateway/v1 {
client_body_buffer_size 500M;
add_header Access-Control-Allow-Origin *;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
rewrite /gateway/v1(.+)$ $1 break;
proxy_pass http://localhost:7700;
}
参考