项目打包
前端先本地压缩用sftp拖到服务器上,因为会有隐藏文件直接拖不上去,
后端直接拖到服务器上
进入前端目录安装依赖 npm
前端打包 会生成一个dist目录 npm
后端打jar包 mvn package 会生成一个target文件,里面有jar包,springboot内嵌tomcat直接打jar包,把jar包拷贝一份到项目目录,因为target目录一清就没了
后端打war包,目的是将项目放到外部已经配置好的tomcat中,需要把springboot web下的内置tomcat除掉,并把jar改war,最后改启动类,新建类继承springbootinitializer,并指向原有启动类
利用sftp把改的两文件替换掉
打war包,先mvn clean清掉原来的target目录,再mvn package,target目录,里面有war包,也拷到项目目录下,但不能直接运行,需要放到容器中
将前端静态文件部署到nginx:修改conf下的配置文件,将目录写进去,用户写为root,进入sbin目录将nginx启动 ./nginx
将后端以jar包方式启动,但需要关联前端,需要到nginx配置后端,加上代理头和地址,重启nginx,
将后端以war包方式启动,先杀掉jar包进程,将war包拷贝到tomcat的webapps下,启动tomcat,war会自动解压,配置tomcat以根目录的形式访问项目(在tomcat下的server.xml文件,加context标签,把项目路径配进来),重启tomcat,service tomcat stop/start
将两台服务器在nginx部署成小集群,upstream,在后端服务器调用那改成集群名字,加上权重,负载均衡
maven日志乱码
在maven的配置里添加 -Dfile.encoding=GB2312
dependencyManagement
DependencyManagement是为了统一管理依赖的版本号,当版本号需要变更时,只需修改父工程的pom,子工程需要另一个版本号,可在dependency 里单独声明
与dependency 的区别
dependency的依赖会自动引入,子项目可继承
dependencyManagement只是声明依赖,需要在子项目里显式声明该依赖,且不另外声明version和scope才会自动继承父工程依赖