前言
本文较乱,用于笔者记录项目部署过程,对于想学习若依项目部署的同学看文章可能会导致误导,建议读者多查资料,保持疑问并谨慎验证。
项目官方指导: 环境部署 | RuoYi
1、环境部署相关
JDK >= 1.8 (推荐1.8版本):(windows本地操作)直接去官网下载然后在“project structure”中选择即可
Mysql >= 5.7.0 (推荐5.7版本):(虚拟机CentOS中操作)
Redis >= 3.0:(虚拟机CentOS中操作)搜索教程安装即可 https://www.cnblogs.com/hunanzp/p/12304622.html Linux服务器上安装redis并远程访问(实用版)_linux安装redis并远程连接redis-CSDN博客 Windows连接Linux上安装的Redis_windows连接linux的redis_848698119的博客-CSDN博客
Maven >= 3.0:(windows本地操作)直接到网上搜相关教程然后在IDEA中操作即可
Node >= 12:(windows本地操作)直接搜索教程安装即可
2、项目本地运行相关
1)首先确保MySQL能够连接上(虚拟机开机然后用navicat连接观察)
2)其次确保Redis打开(进入/usr/local/redis-7.2.3/src运行命令./redis-server ../redis.conf &)
3)用IDEA运行后端
4)用cmd进入ruoyi-ui运行前端(命令:npm run dev)(存在error bug,可以使用set NODE_OPTIONS=--openssl-legacy-provider命令解决)
3、项目部署相关(注意:项目部署是指在服务器部署,也就是在Linux环境)
说明:部署成功后,本地将直接进入网址即可,无需任何运行。
1)MySQL和Redis自不必说
MySQL会自动执行(之前已经设置好了); 进入redis根目录,执行命令直接启动:nohup redis-server & #加上‘&’号使redis以后台程序方式运行
通过指定配置文件启动:./redis-server /etc/redis/6379.conf(只是举一个例子,具体运行可以看“1”的链接)
补充:nohup(no hang up) 和 & 的区别
& : 指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出。
nohup : 不挂断的运行,注意并没有后台运行的功能,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行。
那么,我们可以巧妙的吧他们结合起来用就是nohup COMMAND &
这样就能使命令永久的在后台执行。
2)Java JDK自不必说,Linux肯定会配有,没有就找教程安装就是了。
3)在服务器安装 maven,教程 Linux 安装 Maven -阿里云开发者社区 , 或者看 《Linux服务器》 的教程记录
4)在服务器安装 nginx,直接参考教程 https://juejin.cn/post/699064358080924878 ,或者可以看《Linux服务器》 的教程记录
5)在服务器安装 node (npm),直接参考教程 Linux 安装 node,npm (详细图解)-腾讯云开发者社区-腾讯云 ,或者可以看《Linux服务器》 的教程记录
6)有三处代码需要修改
a)logback.xml日志配置
修改日志输出编码格式,使用UTF-8
b)application.yml项目配置
修改启动端口
redis配置
b)application-druid.yml数据源配置(我的用户名是root,密码是2002)
用navicat导入两个sql文件,生成对应的sql数据库
7)打包前端项目(这里服务器一定要连接网络啊)
之后打生产环境的包(具体可以看教程链接),通过命令 npm run build:prod
打包完成后会生成“dist”文件夹
8)打包后端项目
首先修改好三处文件的代码
然后用命令mvn package打包
在后端文件夹处会生成jar文件
那么现在如何启动文件呢?
1)部署前端项目
前端文件使用nginx来转发
配置nginx
最后在目录 /sbin 下,重启 nginx
./nginx -s -reload
2)部署后端项目
其实就是生成 jar 包或者 war 包,这两个包都行,我只用了 jar 包版本的。
通过 “java -jar <你的项目名>”启动项目就好
或者通过 ”nohup java -jar <你的项目名> &“ 启动项目
至此服务器前后端打通,我就可以直接在本地就可以访问网页。
当然还有小集群和war包我还没学会处理,不过问题不大,需要用到时看教程即可。
以上,若依项目前后端部署记录
祝好。