使用的项目是码云上的开源项目-若依(前后端分离版),地址为https://gitee.com/y_project/RuoYi-Vue.git
window10(物理主机)的IP地址为192.168.31.11
centos8_1(安装在VMware)的IP地址为192.168.31.128
centos8_2(安装在VMware)的IP地址为192.168.31.129
mysql和redis都是用的物理主机上的,Linux上没有安装。
由于我的mysql和redis都是使用的物理主机上的,linux环境下没有安装,所以需要更改项目配置中的mysql和redis的地址及其用户名和密码,项目上配置的地址是localhost,改成物理主机的地址192.168.31.11
将项目打成jar包,由于是maven项目,直接在idea中执行package即可,此时会出现一个target目录,打包好的jar包(ruoyi.jar)就放在该目录下。
具体安装过程可以参考上一篇文章《linux上安装jdk环境》
将打好的jar包上传至linux上,然后在上传文件的目录下执行命令
java -jar ruoyi.jar
此时项目能跑起来,但是会报错,我的环境主要报了两个错,
错误一:Host is not allowed to connect to this MySQLserver
这是由于Mysql配置了不支持远程连接引起的,解决办法也很简单
找到mysql数据库中的user表,如下图
把User为root的Host改成%,修改之后如图
然后重启mysql就可以了。
具体的可以参考https://blog.csdn.net/h985161183/article/details/82218710?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
问题二:Can't connect to redis-server
这是由于redis开启了保护模式,并且绑定了127.0.0.1主机。
解决方法是修改reids的配置文件,redis.windows-service.conf,注释bind 127.0.0.1,并且将protected-mod yes 改为 protected-mod no。
具体的可以参考https://blog.csdn.net/yanyu0718/article/details/90546189,注意,文章中提到redis.windows-service.conf或者redis.windows.conf,只需要修改一个即可,最后启动redis的时候指定使用哪一个conf即可。至于具体修改这两个配置文件中的哪一个,要看你的redis服务用的是那个配置文件。查看方法是,在服务中找到redis服务,右键-->属性
可以看到我本机上redis服务使用的是redis.windows-service.conf,修改之后重启服务就可以了。
至此,spring boot项目已经可以在Linux上顺利的运行了,但是我们的前端并没有和后端关联起来,请求路径还不能转发到后端来,所以我们需要配置nginx帮我们将请求转发到后端。
在浏览器中访问前端192.168.31.128:80,可以看到前端请求后端的地址。
所以我们可以在nginx配置文件中配置如下,
#我这里配置了负载均衡,nginx会将前端的请求,分别转发到192.168.31.128、192.168.31.129这两台主机。
upstream ruoyiServer {
server 192.168.31.128:8080 weight=5;
server 192.168.31.129:8080 weight=5;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/local/nginx/dist/; #这是前端的配置,前端的文件放置在该目录下。
index index.html index.htm;
}
location /prod-api/ {
proxy_pass http://ruoyiServer/; #nginx会将http://192.168.31.128:80/prod-api/请求转发到http://ruoyiServer/
}
}
配置好后开启nginx
#启动nginx服务
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#重启nginx服务
sudo /usr/local/nginx/sbin/nginx -s reload
注意,我之前是将服务名配置为upstream ruoyi_server{...},会报如下错误,然后改成upstream ruoyiServer{...}就可以了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/6957.html