假设你已经安装好mysql和jdk,并且使用DBeaver创建好了ruoyi数据库
1. 安装redis(ruoyi需要) CentOS 7下载安装Redis(超详细,亲测可行)_centos7 redis-CSDN博客
redis踩坑:
(1)修改redis.conf配置文件
进入redis安装目录,vim redis.conf,
vim下/是搜索,后面跟上要搜索的字符,回车即可,n是下一个搜索结果
o是插入字符,
按esc再:wq是保存并退出
daemonize no ---> daemonize yes
bind 127.0.0.1 ::1 ---> bind 0.0.0.0
requirepass foobared注释去掉 ---> requirepass 123456
(2)修改完配置文件后,
先停止redis,
redis-cli shutdown
再进入redis安装目录启动redis.conf, 后面一定要跟上redis.conf
redis-server redis.conf
此时查看redis服务是否启动,
ps -ef | grep redis
如果出现
那么redis成功配置,如何端口号还是127.0.0.1,那么配置文件修改失败,可能是上面某一步出错,回去重新弄。
2. 配置阿里云安全组
8080,6379,3306,22,应该都配置上,(我就是因为8080忘记配置,被折磨了几个小时,因为阿里云默认是开启80端口作为http)
3. 防火墙
首先查看防火墙是否打开
firewall-cmd --state
如果没开,打开
systemctl start firewalld.service
开启这几个端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
重启防火墙
systemctl restart firewalld.service
查看端口开启情况
firewall-cmd --list-ports
那几个端口全部开放即可!
4.打包运行项目
前提,注意application-druid.yml中改:
jdbc:mysql://xxx.xxx.xxx.xxx:3306/... //云服务器公网IP
application.yml中改:
redis:
# 地址
host: xxx.xxx.xxx.xxx //云服务器公网ip
# 密码
password: xxxxxx //前面修改redis配置文件时,设置的密码
# 连接超时时间
idea maven 先clean再package,然后把ruoyi-admin/target下的jar包上传到服务器上,运行,后端启动成功!
然后在自己电脑上输入:xxx.xxx.xxx.xxx:8080,成功出现404!
原因:
保持后端启动状态,新建一个命令行窗口,查看是否监听8080端口
netstat -nat|grep 8080
出现 tcp6 0 :::8080 ::: * LISTEN, 表示正在ipv6的端口监听,自然接受不到ipv4的请求,
解决方法(两种方法都可以,方法1更加一劳永逸)
1. 在application.yml中增加server.address = 0.0.0.0
2. 启动后端jar时加上命令:
java -Djava.net.preferIPv4Stack=true -jar xxxx.jar
启动后,查看监听,得到的结果就是:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
此时,在自己电脑上输入:xxx.xxx.xxx.xxx:8080,成功!
欢迎使用MyChartsLearn后台管理框架,当前版本:v3.8.8,请通过前端地址访问。
后记:
自己电脑使用vue访问服务器时,验证码加载不出来,报错:
Handler dispatch failed; nested exception is java.lang.InternalError:java.lang.reflect.InvocationTargetException
解决方法:
先停止后端jar
yum install fontconfig
安装完成后 cd /usr/share/fonts
执行 fc-cache
重新运行后端jar,成功!登录,也没问题