RuoYi若依打包发布与部署
上一节我们已经讲过了如果搭建开发环境,那么如果代码写完了,如何打包发布。部署到生产环境呢?
《RuoYi开发实战-搭建开发环境》
https://blog.csdn.net/lxyoucan/article/details/123764953
环境
我先说一下我的环境信息:
开发环境:
操作系统:macOS BigSur 11.4
开发工具:IDEA 2021.1
后台打包
在RuoYi-Vue项目的根目录执行以下命令。
mvn clean package -Dmaven.test.skip=true
执行完成后,会生成一个Jar包,在日志中可以看出完整的路径。
或以通过以下命令启动服务测试:
java -jar ruoyi-admin.jar
前端打包
进入前端项目的主目录,然后执行:
npm run build:prod
执行完后会在dist
目录生成相关的打包好的文件。
把打包好的文件上传到服务器,我部署的位置是:/home/ruoyi/projects/ruoyi-ui
localhost:/home/ruoyi/projects/ruoyi-ui# pwd
/home/ruoyi/projects/ruoyi-ui
localhost:/home/ruoyi/projects/ruoyi-ui# ls
favicon.ico html index.html index.html.gz robots.txt static
linux部署
生产环境一般都是在Linux中部署的,我这里以alpine Linux为例。其他发行版本大同小异。
安装JDK
安装JDK8。
apk add openjdk8
版本信息如下:
java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (IcedTea 3.20.0) (Alpine 8.302.08-r2)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)
这里需要说明一下,最好用JDK8。我一开始用JDK11虽然项目也可以成功运行,但是用户登录时获取验证码时就报错了。也许想用JDK11就要用JDK11编译代码吧。
部署ruoyi-admin.jar
把打包出来的后台ruoyi-admin.jar上传到服务器上。我放在了/home/ruoyi/projects/ruoyi
上传命令如下:
scp ruoyi-admin.jar @ruoyiprod:/home/ruoyi/projects/ruoyi/
或以通过以下命令,启动服务测试:
java -jar ruoyi-admin.jar
看到以下日志说明启动成功了。
浏览器访问http://172.16.184.25:8080/显示界面如下:
以上命令是前台运行,当ssh断开了服务也就自动断开了。所以我们要修改成后台运行项目。
#后台运行
nohup java -jar ruoyi-admin.jar > ruoyi-admin-log.out 2>&1 &
#查看日志
tail -f ruoyi-admin-log.out
配置nginx
安装nginx服务器
apk add nginx
配置Nginx的配置
vi /etc/nginx/nginx.conf
内容如下:
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;charset utf-8;location / {root /home/ruoyi/projects/ruoyi-ui;try_files $uri $uri/ /index.html;index index.html index.htm;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
启动nginx服务
service nginx start
至此服务就部署成功啦!访问服务器的80端口,登录以后结果如下:
参考
《环境部署》
http://doc.ruoyi.vip/ruoyi/document/hjbs.html#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C
《Nginx配置》
http://doc.ruoyi.vip/ruoyi-vue/document/hjbs.html#nginx%E9%85%8D%E7%BD%AE
RuoYi若依打包发布与部署相关推荐
- qt程序部署在linux,Qt应用打包发布,部署真正的Qt程序LinuxWindows-Go语言中文社区...
最近在发布Qt应用时遇到了一些困难,Windows还好,在Linux上面发布遇到了不少的麻烦(实际Linux应该简单才对),经过在网络搜索发现帖子不少,但都比较片面,现把Qt应用程序在Linux&am ...
- overlay2 在打包发布流水线中的应用
背景 自从去年五月份入职后一直在负责公司 PaaS toB 产品的打包发布及部署运维工作,工作性质上有点类似于 Kubernetes 社区的 SIG Release 团队[1].试用期的主要工作就是优 ...
- Jitsi(SIP communicator)的环境部署和打包发布
简介 Jitsi是一个开源的,安全(ZRTP加密),高质量的SIP/XMPP视频通话.会议.聊天.桌面共享.文件传传输.可以安装在你喜欢的操作系统中并且支持多种IM网络.Jitsi是当最功能最完整的高 ...
- java 模块分离部署_GitHub - yangjiu/Mis: 模块接口服务,如何在一个模块内维护其对外暴露的接口(包括打包发布),而不是把接口和接口实现分离到两个不同的模块?...
MIS 模块接口服务(Module Interface Service) MIS主要解决的问题是如何在一个模块内维护其对外暴露的接口(包括打包发布),而不是把接口和接口实现分离到两个不同的模块. Us ...
- win7平台下QT软件的打包与发布(部署与安装)
软件编写调试好之后最重要的就是打包和发布,这样软件才好传播. qt软件的打包发布一个难点是必备dll文件的识别.不少日志说用dependencyWalker,今天我试了一下发现查找dll不完全,比如辨 ...
- win7平台下QT软件的打包与发布(部署与安装) 打包成安装包样式
软件编写调试好之后最重要的就是打包和发布,这样软件才好传播. qt软件的打包发布一个难点是必备dll文件的识别.不少日志说用dependencyWalker,今天我试了一下发现查找dll不完全,比如辨 ...
- ruoyi项目前后端分离版本部署-linux系统
ruoyi项目前后端分离版本部署-linux系统 参考网址 ruoyi官网 https://doc.ruoyi.vip/ruoyi-vue/ https://ruoyi.vip/ 参考文章网址 htt ...
- vs 2012自带打包工具进行部署安装
原文 http://www.cnblogs.com/javawebsoa/archive/2013/04/05/3001632.html#2667832 使用vs2012做的程序,程序做完后准备打包部 ...
- 懒到极致之怒撸一键打包发布系统
一切得从上个版本的打包发布说起. 开发中本人负责了iOS包的版本发布工作.iOS打包:不就是选一下证书,再在Xcode上点几下按钮,IDE全都给你设置好流程了,有必要这么麻烦吗? 诚然,如果只是打包, ...
最新文章
- 【Linux】Centos7 解压zip文件
- PHPMailer 发送邮件
- dockerfile构建mysql_Dockerfile在linux上构建mysql8镜像并创建数据库-Go语言中文社区
- 动效设计中的隐喻-2
- 字符串-判断数字的三个方法
- hdu3790最短路径问题(迪杰斯特拉算法+详解+代码)
- 【Flink】Flink ChildFirstClassLoader loadClassWithoutExceptionHandling 空指针
- 改进的有效边表算法_优硕微展 | 张和慧:基于邻域保持嵌入算法的间歇过程故障检测研究...
- 前端开发工具介绍----合成雪碧图工具(css sprite)
- 深入理解成分句法分析中的Dynamic Oracle
- 用AtomicStampedReference解决ABA问题
- empty string什么错误_go语言的interface为什么好用?
- XidianOJ 1007 易碎的鸟蛋
- 在Python27中运行pip install dlib装载库dlib所引起的问题解决
- spring源码阅读笔记09:循环依赖
- STAF/STAX安装配置
- 引领创新 服务创业——中关村软件园“双创”新态势
- 数字图像处理与Python实现-沃尔什-哈达玛变换(Walsh-Hadmard Transform,WHT)
- 淘宝获取商品详情API
- 面向初学者的 20 大人工智能项目创意
热门文章
- 教你如何用python制作平面直角坐标系模拟器 python项目小发明 【安安教具】-【数学】-【平面直角坐标系】模拟器
- 用D3.js绘制完整的流程图demo
- 如果有智慧公交可视化平台,《开端》还能无限重启吗?
- 《算法笔记》学习笔记(1)
- 双十一到了,当我用Python采集了电商平台所有商品后发现....
- 老大说不要在项目中使用存储过程
- Thinkphp内核SEO按天关键词计费排名查询系统源码
- Excel去掉函数错误值#VALUE!的方法
- 学校教务管理系统(第二弹
- OpenGL: 圆柱面绘制贴图