Java后端基础的编程环境基础软件设施具体包括:
jdk,mysql,git,maven,tomcat,nginx,redis,Nodejs,RabbitMQ,Kafka,Zookeeper,ElasticsSearch,Docker,KuberNetes
项目网址:http://www.ruoyi.vip/
通过git pull <上面的git地址>下载若依
为了成功启动项目,需要修改数据库,redis等一些基本配置
用idea打开若依项目
ruoyi-admin/src/main/resources
1、logback.xml日志配置
2、application.yml项目配置
npm install --unsafe-perm --registry=https://registry.npm.taobao.org
npm run build:prod
dist
文件夹到此前端项目就算打包完成!!!
当然也可以在idea中把打好的jar包传到服务器
org.springframework.boot
spring-boot-starter-tomcat
provided
目的是是为了将项目内嵌的tomcat在发布时将它去除
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
//指向原来的启动类
return builder.sources(RuoYiApplication.class);
}
}
这个war包就不能直接运行,必须放到tomcat中运行
后端项目打包完成
将该路径配置到nginx文件夹下conf文件夹中的nginx.conf文件中
location / {
root /root/workspace/ruoyi-ui/dist;
index index.html index.htm;
}
保存,通过: wq
如果重启失败:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
重启nginx
在/sbin目录下
./nginx -s -reload #重启nginx
注意关闭防火墙
前端部署成功
上传在101
服务器上
nohup java -jar ruoyi-admin.jar &
启动项目使用这种方式运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
后端部署成功
现在有一个问题,前后端项目都部署起来了,但是前后端没有关联在一起,现在访问依然会有404错误,就是因为前端没有找到后端接口
随便发一个请求,看看请求信息
所以还需要再次去nginx去配置/nginx/conf/nginx.conf代理,让前端通往后端
配置凡是请求到prod-api这个路径的请求全部代理到101或者102后台
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://192.168.136.135:8080/;//最重要的,服务器后端真正的项目部署的地址
}
重启nginx服务器./nginx -s reload
如果重启失败:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
再次访问192.168.136.134/
注意:这里一定要关闭后台服务器的防火墙,验证码生成报错502的情况,是因为验证码业务需要缓存redis,但是后台服务器的防火墙没有关闭,导致无法缓存redis服务,也就会报错了,所以需要关闭后台防火墙
成功登录
进入tomcat目录,将war放进webapps目录下就可以了
service tomcat start启动tomcat,会将war解压成一个文件夹
但这个时候访问服务器访问的还是tomcat这个主目录,要访问到项目还需要在路径后加上项目文件夹的名称
还需要对tomcat/conf/server.xml文件进行设置,将解压出来的项目目录替换成根目录进行访问
将tomcat重启:service tomcat stop,service tomcat start就可以以根目录形式访问后端项目
以上部署在另一个后端服务器实例上进行同样的操作
现在的情况是一个前端实例,两个后端实例,
前端实例只与其中一个后端实例关联起来,还需要与另一个后端实例进行关联
需要去前端nginx服务器/nginx/conf/nginx.conf进行集群部署配置
配置完重启nginx服务器 ./nginx -s reload
查看日志查看是否是集群部署负载均衡的效果
后端项目中的logback.xml文件中配置过日志存放路径
服务器也建立好存放日志的目录/Users/ruoyi/log
现在需要实时监视日志tail -f sys-info.log
故意输入错的验证码,观察两个后端实例均有日志输出,负载均衡集群部署成功