一、nginx默认路径
1.1、默认配置文件路径:/etc/nginx/nginx.conf
1.2、默认资源路径:/usr/share/nginx/html/index.html
二、修改nginx.conf配置
(注意配置中的:include /etc/nginx/conf.d/*.conf; 里面包了一个server配置文件)
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#include /etc/nginx/conf.d/*.conf;
server {
listen 80;
listen [::]:80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html; # vue目录地址(dist)
index index.html index.htm;
try_files $uri $uri/ /index.html; # 解决刷新页面变成404问题的代码
}
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
三、dockerfile
COPY ./nginx.conf /etc/nginx/nginx.conf
COPY --from=nodeBuild /y-qd/dist /usr/share/nginx/html
# 二开推荐阅读[如何提高项目构建效率](https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/scene/build/speed.html)
# 选择构建用基础镜像。如需更换,请到[dockerhub官方仓库](https://hub.docker.com/_/java?tab=tags)自行选择后替换。
# 引入Node.js
FROM node:12.22.12 AS nodeBuild
# npm镜像,解决报错而引入
RUN npm config set registry https://registry.npm.taobao.org
# install simple http server for serving static content
# 全局http-server用于本地运行
#RUN npm install -g http-server
# make the 'app' folder the current working directory
# 指定构建过程中的工作目录
WORKDIR /y-qd
# copy both 'package.json' and 'package-lock.json' (if available)
# 将src目录下所有文件,拷贝到工作目录中src目录下(.gitignore/.dockerignore中文件除外)
COPY package*.json ./
# install project dependencies
RUN npm install
# copy project files and folders to the current working directory (i.e. 'app' folder)
COPY . .
# build app for production with minification
# 生产打包,对应脚本"build": "node build/build.js"
RUN npm run build
#本地,对应脚本"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js"
#RUN npm run dev
# production stage
#代理nginx,nginx直接访问
FROM nginx:stable-alpine AS nginxBuild
COPY ./nginx.conf /etc/nginx/nginx.conf
COPY --from=nodeBuild /y-qd/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
#本地对应端口
#EXPOSE 8088
#CMD [ "http-server", "dist" ]
四、注意
4.1、