Приветствую!
Собственно, возникла не совсем тривиальная задача, кешировать стат. файлы на ssd диск.
Есть сервер, на нем 2 сата диска в raid1 и ssd диск.
На сата дисках, лежат игровые сервера.
/home/server_id/cstrike/ - в этой дире, файлы которые нужно отдавать через http
ssd диск смотрирован в корень, /sdd,
/ssd/www/ -root в конфиге nginx'a.
/ssd/cache - дира для кеша.
Пока делаю так:
mkdir /ssd/www/server_id
ln -s /home/server_id/cstrike /ssd/www/server_id
в итоге, статика доступна по адресу:
http://server_ip/server_id/cstrike/file.wad
Задача, кешировать эти файлы на ssd, дабы разгрузить sata диски.
Пробовал так:
http {
[....]
proxy_cache_path /ssd/cache/store levels=1:2 keys_zone=STATIC:10m inactive=1d max_size=128m;
[....]
server {
listen 80;
server_name _;
location / {
root /ssd/www;
index index.html index.htm;
}
location ~ /(.*)/cstrike/.*\.(bsp|mdl|wav|mp3|spr|tga|txt|wad|bmp|gif|res)$ {
proxy_pass http://127.0.0.1:80;
expires 30d;
proxy_intercept_errors on;
proxy_cache STATIC;
proxy_cache_min_uses 1;
proxy_cache_valid 3d;
proxy_ignore_client_abort on;
proxy_temp_path /ssd/cache/tmp;
proxy_cache_use_stale updating;
}
location ~ /(.*)/cstrike/.*\.cfg|ini {
deny all;
}
location ~ /(.*)/cstrike/addons/ {
deny all;
}
}
}
Но получаю 500 ошибку.
Как правильней организовать кеширование на ssd?