add Dockerfile and nginx.conf
This commit is contained in:
parent
e337f31c4d
commit
2d32fa3d7e
18
Dockerfile
Normal file
18
Dockerfile
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
FROM node:14.1.0-alpine as build-deps
|
||||||
|
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
|
||||||
|
RUN npm install --global gatsby-cli
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
COPY package.json yarn.lock ./
|
||||||
|
RUN yarn
|
||||||
|
COPY . ./
|
||||||
|
RUN yarn build
|
||||||
|
|
||||||
|
#Stage 2
|
||||||
|
|
||||||
|
FROM nginx:1.17.5-alpine
|
||||||
|
COPY --from=build-deps /usr/src/app/public /var/www
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
EXPOSE 80
|
||||||
|
CMD ["nginx", "-g", "daemon off;"]
|
62
nginx.conf
Normal file
62
nginx.conf
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
# 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;
|
||||||
|
error_page 404 /404/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|woff2)$ {
|
||||||
|
try_files $uri =404;
|
||||||
|
expires 1y;
|
||||||
|
access_log off;
|
||||||
|
add_header Cache-Control "public";
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
# First attempt to serve request as file, then
|
||||||
|
# as directory, then fall back to redirecting to index.html
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Any route containing a file extension (e.g. /devicesfile.js)
|
||||||
|
location ~ ^.+\..+$ {
|
||||||
|
try_files $uri =404;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user