部署springboot项目到服务器上(springboot如何部署在服务器)

部署springboot项目到服务器上(springboot如何部署在服务器)使用的项目是码云上的开源项目 若依 前后端分离版 地址为 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 都是使用的物理主机上的



使用的项目是码云上的开源项目-若依(前后端分离版),地址为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{...}就可以了。


编程小号
上一篇 2025-01-28 12:33
下一篇 2025-01-27 15:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/6957.html