前言
最近用ruoyi前后端分离版做了一个项目,前端用的vue3,后端用的springboot3、JDK17,数据库用的postgresql。 首先,在服务器上安装必要的中间件,我业务主要需要安装redis、pg、minio三个中间件【中间件安装部署不在此赘述】。 现在要部署到服务器,以下是部署的详细过程,希望对读者能有帮助。
1.后端发布
参考:https://blog.csdn.net/yohann1991/article/details/150446958?spm=1001.2014.3001.5502
注意点:
-
打包的时候,如下打包方式没有报错,其他的方式会报错,原因不详。

-
在admin模块下创建一个Dockerfile文件,内容如下:

FROM openjdk:17-alpine
# 安装字体依赖库
RUN apk update && apk add –no-cache \\
fontconfig \\
freetype \\
ttf-dejavuLABEL maintainer="yuanhong"
COPY target/*.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
一定要安装字体依赖库,否则项目首页无法生成验证码。
后续的其他步骤参照这个博文:https://blog.csdn.net/yohann1991/article/details/150446958?spm=1001.2014.3001.5502
2.前端发布
-
打包,执行npm run build:prod

生成dist

-
将dist文件夹上传至服务器特定位置
-
拉取最新nginx
docker pull nginx:latest
-
创建宿主机挂载目录
mkdir -p /home/tool/nginx/{conf,html,logs}
-
启动临时容器
docker run –name nginx-temp -d -p 80:80 nginx:latest
-
复制配置文件
# 复制主配置文件
docker cp nginx-temp:/etc/nginx/nginx.conf /home/tool/nginx/conf/
# 复制默认服务器块配置
docker cp nginx-temp:/etc/nginx/conf.d /home/tool/nginx/
# 复制默认网页文件
docker cp nginx-temp:/usr/share/nginx/html/ /home/tool/nginx/ -
停止并移除临时容器
docker stop nginx-temp
docker rm nginx-temp -
运行Nginx容器并挂载目录
docker run -d \\
–name nginx-web \\
-p 80:80 \\
-v /home/tool/nginx/html:/usr/share/nginx/html \\
-v /home/tool/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \\
-v /home/tool/nginx/conf.d:/etc/nginx/conf.d \\
-v /home/tool/nginx/logs:/var/log/nginx \\
nginx:latest
-
-
重要文件挂载说明
宿主机目录容器内目录作用与说明 /home/tool/nginx/html /usr/share/nginx/html 存放网站静态资源(HTML、CSS、JS等)。修改宿主机文件即可更新网站内容。 /home/tool/nginx/conf/nginx.conf /etc/nginx/nginx.conf Nginx的主配置文件。建议挂载为只读(ro)以保护配置-5。 /home/tool/nginx/conf.d /etc/nginx/conf.d 存放自定义的服务器块(server block)配置文件,通常用于配置虚拟主机。 /home/tool/nginx/logs /var/log/nginx 存放Nginx的访问日志(access.log)和错误日志(error.log),方便在宿主机上查看和分析。
2. 将dist文件夹放置
到/home/tool/nginx/html下 
3. 修改nginx的配置文件
/home/tool/nginx/conf.d下 
4. 重启一下nginx
前端访问地址10.90.5.145:80






