Created
February 8, 2019 13:38
-
-
Save zivanovicb/a40870e23b492696289216eacb124bf3 to your computer and use it in GitHub Desktop.
nginx to serve react app
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# auto detects a good number of processes to run | |
worker_processes auto; | |
#Provides the configuration file context in which the directives that affect connection processing are specified. | |
events { | |
# Sets the maximum number of simultaneous connections that can be opened by a worker process. | |
worker_connections 8000; | |
# Tells the worker to accept multiple connections at a time | |
multi_accept on; | |
} | |
http { | |
# what times to include | |
include /etc/nginx/mime.types; | |
# what is the default one | |
default_type application/octet-stream; | |
# Sets the path, format, and configuration for a buffered log write | |
log_format compression '$remote_addr - $remote_user [$time_local] ' | |
'"$request" $status $upstream_addr ' | |
'"$http_referer" "$http_user_agent"'; | |
server { | |
# listen on port 80 | |
listen 80; | |
# save logs here | |
access_log /var/log/nginx/access.log compression; | |
# where the root here | |
root /var/www; | |
# what file to server as index | |
index index.html index.htm; | |
location / { | |
# First attempt to serve request as file, then | |
# as directory, then fall back to redirecting to index.html | |
try_files $uri $uri/ /index.html; | |
} | |
# Media: images, icons, video, audio, HTC | |
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ { | |
expires 1M; | |
access_log off; | |
add_header Cache-Control "public"; | |
} | |
# Javascript and CSS files | |
location ~* \.(?:css|js)$ { | |
try_files $uri =404; | |
# kill cache | |
add_header Last-Modified $date_gmt; | |
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; | |
if_modified_since off; | |
expires off; | |
etag off; | |
access_log off; | |
add_header Cache-Control "public"; | |
} | |
# Any route containing a file extension (e.g. /devicesfile.js) | |
location ~ ^.+\..+$ { | |
try_files $uri =404; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment