I have a Nginx config that works fine and serves static files properly:
location /static/ {
alias /tmp/static/;
expires 30d;
access_log off;
}
But what I want to do now is that if the static file doesn't exist in /tmp/static
, Nginx looks for the file in /srv/www/site/static
. I am not sure how to achieve that, I have tried a few things with try_files
, but I don't know how to properly use it.
To serve static files with nginx, you should configure the path of your application's root directory and reference the HTML entry point as the index file.
Configure NGINX and NGINX Plus to serve static content, with type-specific root directories, checks for file existence, and performance optimizations.
Serving Static Files To deploy the container, use Docker Compose. The Docker Compose output. Your static folder and all of its contents are now being served at http://localhost:8080/ using Nginx running inside Docker. Our static files being served on port 8080.
To serve static files such as images, CSS files, and JavaScript files, use the express.static built-in middleware function in Express. The root argument specifies the root directory from which to serve static assets. For more information on the options argument, see express.static.
You can set your root to the common prefix of the two paths you want to use (in this case, it's /), then just specify the rest of the paths in the try_files args:
location /static/ {
root /;
try_files /tmp$uri /srv/www/site$uri =404;
expires 30d;
access_log off;
}
It may seem disconcerting to use root / in a location, but the try_files will ensure that no files outside of /tmp/static or /srv/www/site/static will be served.
the following should do the trick:
location /static/ {
expires 30d;
access_log off;
try_files tmp/static/$uri tmp/static/$uri/ tmp/static2/$uri tmp/static2/$uri/;
}
see http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files for documentation and examples of try_files use
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With