一、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、