上一节我们已经讲过了如果搭建开发环境,那么如果代码写完了,如何打包发布。部署到生产环境呢?

《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若依打包发布与部署相关推荐

  1. qt程序部署在linux,Qt应用打包发布,部署真正的Qt程序LinuxWindows-Go语言中文社区...

    最近在发布Qt应用时遇到了一些困难,Windows还好,在Linux上面发布遇到了不少的麻烦(实际Linux应该简单才对),经过在网络搜索发现帖子不少,但都比较片面,现把Qt应用程序在Linux&am ...

  2. overlay2 在打包发布流水线中的应用

    背景 自从去年五月份入职后一直在负责公司 PaaS toB 产品的打包发布及部署运维工作,工作性质上有点类似于 Kubernetes 社区的 SIG Release 团队[1].试用期的主要工作就是优 ...

  3. Jitsi(SIP communicator)的环境部署和打包发布

    简介 Jitsi是一个开源的,安全(ZRTP加密),高质量的SIP/XMPP视频通话.会议.聊天.桌面共享.文件传传输.可以安装在你喜欢的操作系统中并且支持多种IM网络.Jitsi是当最功能最完整的高 ...

  4. java 模块分离部署_GitHub - yangjiu/Mis: 模块接口服务,如何在一个模块内维护其对外暴露的接口(包括打包发布),而不是把接口和接口实现分离到两个不同的模块?...

    MIS 模块接口服务(Module Interface Service) MIS主要解决的问题是如何在一个模块内维护其对外暴露的接口(包括打包发布),而不是把接口和接口实现分离到两个不同的模块. Us ...

  5. win7平台下QT软件的打包与发布(部署与安装)

    软件编写调试好之后最重要的就是打包和发布,这样软件才好传播. qt软件的打包发布一个难点是必备dll文件的识别.不少日志说用dependencyWalker,今天我试了一下发现查找dll不完全,比如辨 ...

  6. win7平台下QT软件的打包与发布(部署与安装) 打包成安装包样式

    软件编写调试好之后最重要的就是打包和发布,这样软件才好传播. qt软件的打包发布一个难点是必备dll文件的识别.不少日志说用dependencyWalker,今天我试了一下发现查找dll不完全,比如辨 ...

  7. ruoyi项目前后端分离版本部署-linux系统

    ruoyi项目前后端分离版本部署-linux系统 参考网址 ruoyi官网 https://doc.ruoyi.vip/ruoyi-vue/ https://ruoyi.vip/ 参考文章网址 htt ...

  8. vs 2012自带打包工具进行部署安装

    原文 http://www.cnblogs.com/javawebsoa/archive/2013/04/05/3001632.html#2667832 使用vs2012做的程序,程序做完后准备打包部 ...

  9. 懒到极致之怒撸一键打包发布系统

    一切得从上个版本的打包发布说起. 开发中本人负责了iOS包的版本发布工作.iOS打包:不就是选一下证书,再在Xcode上点几下按钮,IDE全都给你设置好流程了,有必要这么麻烦吗? 诚然,如果只是打包, ...

最新文章

  1. 【Linux】Centos7 解压zip文件
  2. PHPMailer 发送邮件
  3. dockerfile构建mysql_Dockerfile在linux上构建mysql8镜像并创建数据库-Go语言中文社区
  4. 动效设计中的隐喻-2
  5. 字符串-判断数字的三个方法
  6. hdu3790最短路径问题(迪杰斯特拉算法+详解+代码)
  7. 【Flink】Flink ChildFirstClassLoader loadClassWithoutExceptionHandling 空指针
  8. 改进的有效边表算法_优硕微展 | 张和慧:基于邻域保持嵌入算法的间歇过程故障检测研究...
  9. 前端开发工具介绍----合成雪碧图工具(css sprite)
  10. 深入理解成分句法分析中的Dynamic Oracle
  11. 用AtomicStampedReference解决ABA问题
  12. empty string什么错误_go语言的interface为什么好用?
  13. XidianOJ 1007 易碎的鸟蛋
  14. 在Python27中运行pip install dlib装载库dlib所引起的问题解决
  15. spring源码阅读笔记09:循环依赖
  16. STAF/STAX安装配置
  17. 引领创新 服务创业——中关村软件园“双创”新态势
  18. 数字图像处理与Python实现-沃尔什-哈达玛变换(Walsh-Hadmard Transform,WHT)
  19. 淘宝获取商品详情API
  20. 面向初学者的 20 大人工智能项目创意

热门文章

  1. 教你如何用python制作平面直角坐标系模拟器 python项目小发明 【安安教具】-【数学】-【平面直角坐标系】模拟器
  2. 用D3.js绘制完整的流程图demo
  3. 如果有智慧公交可视化平台,《开端》还能无限重启吗?
  4. 《算法笔记》学习笔记(1)
  5. 双十一到了,当我用Python采集了电商平台所有商品后发现....
  6. 老大说不要在项目中使用存储过程
  7. Thinkphp内核SEO按天关键词计费排名查询系统源码
  8. Excel去掉函数错误值#VALUE!的方法
  9. 学校教务管理系统(第二弹
  10. OpenGL: 圆柱面绘制贴图