Let's assume the following:
/var/www/
gobot
binary in that directory/lib
and /templates
are placed under /var/www/lib
and /var/www/templates
, respectivelygobot
is set to run on localhost at the default port 3000/var/cache/nginx/
Then the configuration below is what you need to add for that server (or virtual host), replacing, of course, the root
directives with /var/www/lib
and /var/www/templates
.
You can, of course, put those directories elsewhere (e.g. a read-only directory away from the main server, whatever) but then remember to update PathToStaticFiles
in config.toml
. Currently those need to be in the same server, but, who knows, I might add the extra logic to host those static files elsewhere. For my purposes, nginx is already super-fast...
[... lots of your existing config options ...]
http {
# proxy configuration, adjust as needed
proxy_temp_path /var/cache/nginx/temp;
proxy_cache_path /var/cache/nginx/cached levels=1:2 keys_zone=STATIC:15m inactive=24h max_size=1g;
proxy_cache_valid 200 302 1d;
proxy_cache_valid 301 1h;
proxy_cache_valid 404 3m;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
proxy_cache_key "$scheme$host$request_uri $cookie_user";
[... even more lots of your existing config options ...]
}
server {
[... blah blah blah blah ...]
location ~* /go/lib {
rewrite ^/go/lib/(.*)$ /$1 break;
root [my directory where I have my lib files (CSS, JS, etc.)];
try_files $uri =404;
}
location ~* /go/templates {
rewrite ^/go/templates/(.*)$ /$1 break;
root [my directory where I have my templates];
try_files $uri =404;
}
location ~* /go/.+\.(jpe?g|gif|png|ico|svg|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|tpl|mid|midi|wav|bmp|rtf|js|json|xml|swf|flv|mp3)$ {
rewrite ^/go/(.*)$ /$1 break;
root [my directory where I place things like favicons and browser configuration stuff];
access_log off;
add_header Cache-Control "public";
proxy_cache_valid 200 1d;
expires 3d;
try_files $uri =404;
}
location /go {
add_header X-Proxy-Cache $upstream_cache_status;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_cache STATIC; # if you wish to use nginx's super-efficient caching system
proxy_pass_header Set-Cookie;
proxy_pass http://127.0.0.1:3000;
}
location ~* ^.+.(jpe?g|gif|png|ico|svg|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|tpl|mid|midi|wav|bmp|rtf|js|json|xml|swf|flv|mp3)$ {
access_log off;
add_header Cache-Control "public";
proxy_cache_valid 200 1d;
expires 3d;
}
[... blah, blah, blah ...]
}
<< Back to main readme